Rumah pembangunan bahagian belakang tutorial php 基本词匹配项目深入研究-过滤器的引入

基本词匹配项目深入研究-过滤器的引入

Jun 13, 2016 pm 12:12 PM
filter keyword nbsp public word

关键词匹配项目深入研究-过滤器的引入

关键词匹配项目深入研究(一) - 过滤器的引入

在开始看本篇时,请先了解 手把手教你做关键词匹配项目(搜索引擎)---- 第一天 ~ 手把手教你做关键词匹配项目(搜索引擎)---- 第二十二天

前言

     接上回说到,小帅帅把完成后的代码,以及测试结果给出来后,于老大也没多说什么,就被要求上线了,原因很简单:大家都想有点贡献,福利也是少不了的,后期遇到的事情后期再来升级,那餐饭,小帅帅很happy,很满足,当然同行的有小丁丁,于老大,王总监。

问题的前因

       随着项目的运行,采集关键词的应用日益广泛,突然有一天小丁丁跑来找到小帅帅,小帅帅当然很欢喜,但是听到后面的对话凉了一大截。

      “小帅帅,你看,这些词怎么有&,?,%,好多乱七八糟的词都有了,这些词都不太合适用,帮帮忙看看怎么去掉咯。”小丁丁的眼神也够厉害的,盯得小帅帅直哆嗦。

      “大姐,好咯,我先去瞧瞧,这件事包在我身上,到时解决了跟你说声”。

       小帅帅回去查了下,发现数据库里面好多这种古怪的词,小帅帅慌了,只好又去找到于老大。

       “现在词库关键词里面包含&,?,%这种词很多,而且根据匹配度算法来算的话,这些词都是可用的,我们怎么办?”。

       于老大听了小帅帅的解说,想出了一个方案,我们控制下这些关键词咯,反正这些关键词业务也不使用,我们就不要让他入库了,既可以减少关键词库的量,又能保证关键词的可利用率高。

        小帅帅一听,于老大就是不一样,望尘莫及。

解决方案

         增加一个功能,控制词源入库,符合规则的准入,不符合规则的丢弃--过滤器的功能。

设计方案

   image

    升级版果断多姿多彩。

    类图:

    image

  

代码方案

      1. InputSource、FileSource、TaobaoHotsSource代码不变。

      2. Source代码新增过滤代码,如下:

<span style="color: #008080;"> 1</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> Source {</span><span style="color: #008080;"> 2</span> <span style="color: #008080;"> 3</span>     <span style="color: #0000ff;">public</span> <span style="color: #800080;">$keywords</span><span style="color: #000000;">;</span><span style="color: #008080;"> 4</span> <span style="color: #008080;"> 5</span>     <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span><span style="color: #000000;"> run() {</span><span style="color: #008080;"> 6</span> <span style="color: #008080;"> 7</span>         <span style="color: #0000ff;">foreach</span> (<span style="color: #800080;">$this</span>->keywords <span style="color: #0000ff;">as</span> <span style="color: #800080;">$word</span><span style="color: #000000;">) {</span><span style="color: #008080;"> 8</span>             <span style="color: #008000;">#</span><span style="color: #008000;"> code...</span><span style="color: #008080;"> 9</span>             <span style="color: #0000ff;">if</span>(Filter::is(<span style="color: #800080;">$word</span>)) <span style="color: #0000ff;">continue</span><span style="color: #000000;">;</span><span style="color: #008080;">10</span>             <span style="color: #008080;">11</span>             <span style="color: #800080;">$keyword</span> = <span style="color: #0000ff;">new</span><span style="color: #000000;"> Keyword();</span><span style="color: #008080;">12</span>             <span style="color: #800080;">$keyword</span>->word = <span style="color: #800080;">$word</span><span style="color: #000000;">;</span><span style="color: #008080;">13</span>             <span style="color: #800080;">$keyword</span>-><span style="color: #000000;">save();</span><span style="color: #008080;">14</span> <span style="color: #000000;">        }</span><span style="color: #008080;">15</span> <span style="color: #000000;">    }</span><span style="color: #008080;">16</span> <span style="color: #008080;">17</span> }
Salin selepas log masuk

 

      3. 新增Filter代码:

<span style="color: #008080;"> 1</span> <span style="color: #000000;">php</span><span style="color: #008080;"> 2</span> <span style="color: #008080;"> 3</span> <span style="color: #008000;">#</span><span style="color: #008000;">@Filename: filter/Filter.php</span><span style="color: #008080;"> 4</span> <span style="color: #008000;">#</span><span style="color: #008000;">@Author: oShine</span><span style="color: #008080;"> 5</span> <span style="color: #008080;"> 6</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> Filter {</span><span style="color: #008080;"> 7</span> <span style="color: #008080;"> 8</span>     <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span> <span style="color: #800080;">$filterWords</span> = <span style="color: #0000ff;">array</span>("*","?","%",".","&"<span style="color: #000000;">);</span><span style="color: #008080;"> 9</span> <span style="color: #008080;">10</span>     <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span> is(<span style="color: #800080;">$word</span><span style="color: #000000;">){</span><span style="color: #008080;">11</span>         <span style="color: #800080;">$pattern</span> = "/(".<span style="color: #008080;">implode</span>("|", self::<span style="color: #800080;">$filterWords</span>).")/"<span style="color: #000000;">;</span><span style="color: #008080;">12</span>         <span style="color: #0000ff;">return</span> <span style="color: #008080;">preg_match</span>(pattern, <span style="color: #800080;">$word</span><span style="color: #000000;">);</span><span style="color: #008080;">13</span> <span style="color: #000000;">    }</span><span style="color: #008080;">14</span> <span style="color: #008080;">15</span> }
Salin selepas log masuk

       

总结

     良好的代码结构,新增移除功能都非常简单,工作效率提升了。小帅帅深深的爱上了这份工作。

1楼DM张朋飞
表示要是jsp版本的就好了
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk membatalkan pembungkusan perkataan automatik dalam perkataan Bagaimana untuk membatalkan pembungkusan perkataan automatik dalam perkataan Mar 19, 2024 pm 10:16 PM

Apabila menyunting kandungan dalam dokumen perkataan, baris secara automatik boleh membalut Jika tiada pelarasan dibuat pada masa ini, ia akan memberi kesan yang besar pada penyuntingan kami dan membuat orang sangat sakit kepala. Sebenarnya, ia adalah masalah dengan pembaris Di bawah, saya akan memperkenalkan penyelesaian kepada cara membatalkan pembungkusan perkataan secara automatik. Saya harap ia dapat membantu semua orang. Selepas membuka dokumen Word dan memasukkan teks, apabila anda cuba menyalin dan menampal, teks mungkin melompat ke baris baharu Dalam kes ini, anda perlu melaraskan tetapan untuk menyelesaikan masalah ini. 2. Untuk menyelesaikan masalah ini, kita mesti tahu dahulu punca masalah ini. Pada masa ini kami mengklik Lihat di bawah bar alat. 3. Kemudian klik pilihan "Pembaris" di bawah. 4. Pada masa ini, kita akan mendapati bahawa pembaris muncul di atas dokumen, dengan beberapa penanda kon di atasnya.

Penjelasan terperinci tentang cara memaparkan pembaris dalam Word dan cara mengendalikan pembaris! Penjelasan terperinci tentang cara memaparkan pembaris dalam Word dan cara mengendalikan pembaris! Mar 20, 2024 am 10:46 AM

Apabila kami menggunakan Word, untuk mengedit kandungan dengan lebih cantik, kami sering menggunakan pembaris. Anda harus tahu bahawa pembaris dalam Word termasuk pembaris mendatar dan pembaris menegak, yang digunakan untuk memaparkan dan melaraskan jidar halaman dokumen, inden perenggan, tab, dsb. Jadi, bagaimana anda memaparkan pembaris dalam Word? Seterusnya, saya akan mengajar anda cara menetapkan paparan pembaris. Pelajar yang memerlukan perlu segera mengumpulnya! Langkah-langkahnya adalah seperti berikut: 1. Mula-mula, kita perlu memaparkan perkataan pembaris Dokumen perkataan lalai tidak memaparkan perkataan pembaris Kita hanya perlu mengklik butang [Lihat] dalam perkataan. 2. Kemudian, kita cari pilihan [Pembaris] dan semaknya. Dengan cara ini, kita boleh menyesuaikan perkataan pembaris! Ya atau tidak

Bagaimana untuk menambah tandatangan tulisan tangan pada dokumen perkataan Bagaimana untuk menambah tandatangan tulisan tangan pada dokumen perkataan Mar 20, 2024 pm 08:56 PM

Dokumen Word digunakan secara meluas kerana fungsinya yang berkuasa bukan sahaja pelbagai format boleh dimasukkan ke dalam Word, seperti gambar dan jadual, dsb., tetapi kini untuk integriti dan ketulenan fail, banyak fail memerlukan tandatangan manual pada penghujungnya. daripada dokumen. Bunyinya seperti ini Bagaimana untuk menyelesaikan masalah yang rumit Hari ini saya akan mengajar anda cara menambah tandatangan tulisan tangan pada dokumen perkataan. Gunakan pengimbas, kamera atau telefon bimbit untuk mengimbas atau mengambil gambar tandatangan tulisan tangan, dan kemudian gunakan PS atau perisian penyuntingan imej lain untuk melakukan pemangkasan yang diperlukan pada imej. 2. Pilih "Sisipkan - Gambar - Dari Fail" dalam dokumen Word yang anda mahu masukkan tandatangan tulisan tangan dan pilih tandatangan tulisan tangan yang dipangkas. 3. Klik dua kali pada gambar tandatangan tulisan tangan (atau klik kanan pada gambar dan pilih "Tetapkan Format Gambar"), dan "Tetapkan Format Gambar" muncul.

Bagaimana untuk menetapkan margin halaman untuk Word Bagaimana untuk menetapkan margin halaman untuk Word Mar 19, 2024 pm 10:00 PM

Antara perisian pejabat, Word ialah salah satu perisian yang paling biasa digunakan. Dokumen teks yang kami hasilkan biasanya dikendalikan dengan Word Beberapa dokumen perlu diserahkan dalam versi kertas sebelum dicetak, susun atur mesti ditetapkan . Jadi persoalannya, bagaimana anda menetapkan margin halaman dalam Word? Kami mempunyai penjelasan kursus khusus untuk membantu anda menyelesaikan keraguan anda. 1. Buka atau cipta dokumen perkataan baharu dan klik menu "Layout Halaman" pada bar menu. 2. Klik butang "Margins" pada pilihan "Page Setup". 3. Pilih margin halaman yang biasa digunakan dalam senarai. 4. Jika tiada margin yang sesuai dalam senarai, klik "Pinggir Tersuai". 5. Kotak dialog "Persediaan Halaman" muncul, masukkan pilihan "Margins" masing-masing.

Di manakah tetapan teduhan dalam perkataan? Di manakah tetapan teduhan dalam perkataan? Mar 20, 2024 am 08:16 AM

Kami sering menggunakan perkataan untuk kerja pejabat, tetapi adakah anda tahu di mana tetapan teduhan dalam perkataan? Hari ini saya akan berkongsi dengan anda langkah-langkah operasi khusus. Datang dan lihat, kawan-kawan! 1. Mula-mula, buka dokumen perkataan, pilih perenggan maklumat perenggan teks yang perlu ditambah dengan lorekan, kemudian klik butang [Mula] pada bar alat, cari kawasan perenggan, dan klik butang lungsur di sebelah kanan (seperti yang ditunjukkan dalam bulatan merah dalam rajah di bawah) ). 2. Selepas mengklik butang kotak lungsur, dalam pilihan menu timbul, klik pilihan [Border and Shading] (seperti yang ditunjukkan dalam bulatan merah dalam rajah di bawah). 3. Dalam kotak dialog pop timbul [Border and Shading], klik pilihan [Shading] (seperti yang ditunjukkan dalam bulatan merah dalam rajah di bawah). 4. Dalam lajur yang diisi, pilih warna

Bagaimana untuk melukis garis putus-putus dalam perkataan Bagaimana untuk melukis garis putus-putus dalam perkataan Mar 19, 2024 pm 10:25 PM

Word adalah perisian yang sering kita gunakan di pejabat kita Ia mempunyai banyak fungsi yang boleh memudahkan operasi kita Contohnya, untuk artikel yang besar, kita boleh menggunakan fungsi carian di dalam untuk mengetahui bahawa perkataan dalam teks penuh adalah salah. jadi kami boleh menggantikannya secara terus Buat perubahan satu persatu; apabila menyerahkan dokumen kepada pihak atasan anda, anda boleh mencantikkan dokumen itu untuk menjadikannya lebih baik, dan lain-lain. baris dalam Word. 1. Mula-mula, kita membuka dokumen perkataan pada komputer, seperti yang ditunjukkan dalam rajah di bawah: 2. Kemudian, masukkan rentetan teks dalam dokumen, seperti yang ditunjukkan dalam bulatan merah dalam rajah di bawah: 3. Seterusnya, tekan dan tahan [ctrl+A] Pilih semua teks, seperti yang ditunjukkan dalam bulatan merah dalam rajah di bawah: 4. Klik [Mula] pada bahagian atas bar menu

Langkah khusus untuk memadam anak panah ke bawah dalam Word! Langkah khusus untuk memadam anak panah ke bawah dalam Word! Mar 19, 2024 pm 08:50 PM

Dalam kerja pejabat harian, jika anda menyalin sekeping teks dari tapak web dan menampalnya terus ke Word, anda akan sering melihat [anak panah ke bawah] ini boleh dipadamkan dengan memilihnya, tetapi jika terdapat terlalu banyak simbol sedemikian, Jadi adakah terdapat cara cepat untuk memadam semua anak panah? Jadi hari ini saya akan berkongsi dengan anda langkah-langkah khusus untuk memadamkan anak panah ke bawah dalam Word! Pertama sekali, [Anak Panah Bawah] dalam Word sebenarnya mewakili [Pemotongan Baris Manual]. Kita boleh menggantikan semua [Anak Panah Bawah] dengan simbol [Markah Perenggan], seperti yang ditunjukkan dalam rajah di bawah. 2. Kemudian, kami memilih pilihan [Cari dan Ganti] pada bar menu (seperti yang ditunjukkan dalam bulatan merah dalam rajah di bawah). 3. Kemudian, klik arahan [Ganti], kotak pop timbul akan muncul, klik [Simbol Khas]

Bagaimana untuk melukis jadual dalam Word Bagaimana untuk melukis jadual dalam Word Mar 19, 2024 pm 11:50 PM

Word adalah perisian pejabat yang sangat berkuasa Berbanding dengan WPS, Word mempunyai lebih banyak kelebihan dalam pemprosesan terperinci Terutama apabila penerangan dokumen terlalu kompleks, secara amnya lebih bebas bimbang untuk menggunakan Word. Oleh itu, apabila anda memasuki masyarakat, anda mesti mempelajari beberapa petua menggunakan perkataan. Beberapa ketika dahulu, sepupu saya bertanya kepada saya soalan seperti ini. Saya sering melihat orang lain melukis jadual apabila menggunakan Word, dan saya berasa sangat tinggi. Saya ketawa pada masa itu Ia kelihatan seperti kandungan peringkat tinggi, tetapi sebenarnya ia hanya mengambil 3 langkah untuk beroperasi Adakah anda tahu cara melukis jadual dalam Word? 1. Buka perkataan, pilih tempat yang anda ingin masukkan jadual, dan cari pilihan "Sisipkan" dalam bar menu atas. 2. Klik pilihan "Jadual", dan kiub kecil yang padat akan muncul.

See all articles