Heim Backend-Entwicklung PHP-Tutorial 基本词匹配项目深入研究-过滤器的引入

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

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> }
Nach dem Login kopieren

 

      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> }
Nach dem Login kopieren

       

总结

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

1楼DM张朋飞
表示要是jsp版本的就好了
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So deaktivieren Sie den automatischen Zeilenumbruch in Word So deaktivieren Sie den automatischen Zeilenumbruch in Word Mar 19, 2024 pm 10:16 PM

Beim Bearbeiten von Inhalten in einem Word-Dokument werden Zeilen möglicherweise automatisch umgebrochen. Wenn zu diesem Zeitpunkt keine Anpassung vorgenommen wird, hat dies große Auswirkungen auf unsere Bearbeitung und bereitet den Leuten große Kopfschmerzen. Tatsächlich handelt es sich um ein Problem mit dem Lineal. Im Folgenden werde ich die Lösung zum Aufheben des automatischen Zeilenumbruchs in Word vorstellen. Nachdem Sie ein Word-Dokument geöffnet und Text eingegeben haben, springt der Text beim Kopieren und Einfügen möglicherweise in eine neue Zeile. In diesem Fall müssen Sie die Einstellungen anpassen, um dieses Problem zu lösen. 2. Um dieses Problem zu lösen, müssen wir zunächst die Ursache dieses Problems kennen. Zu diesem Zeitpunkt klicken wir in der Symbolleiste auf „Ansicht“. 3. Klicken Sie dann unten auf die Option „Lineal“. 4. Zu diesem Zeitpunkt werden wir feststellen, dass über dem Dokument ein Lineal mit mehreren konischen Markierungen darauf erscheint.

Ausführliche Erklärung zur Anzeige des Lineals in Word und zur Bedienung des Lineals! Ausführliche Erklärung zur Anzeige des Lineals in Word und zur Bedienung des Lineals! Mar 20, 2024 am 10:46 AM

Wenn wir Word verwenden, verwenden wir oft Lineale, um den Inhalt schöner zu bearbeiten. Sie sollten wissen, dass zu den Linealen in Word horizontale und vertikale Lineale gehören, mit denen Sie die Seitenränder, Absatzeinzüge, Tabulatoren usw. des Dokuments anzeigen und anpassen können. Wie zeigt man also das Lineal in Word an? Als Nächstes zeige ich Ihnen, wie Sie die Linealanzeige einstellen. Studierende in Not sollten es schnell abholen! Die Schritte sind wie folgt: 1. Zuerst müssen wir das Word-Lineal aufrufen. Das Standard-Word-Dokument zeigt das Word-Lineal nicht an. Wir müssen nur auf die Schaltfläche [Ansicht] in Word klicken. 2. Dann finden wir die Option [Lineal] und überprüfen sie. Auf diese Weise können wir das Wortlineal anpassen! ja oder nein

So fügen Sie einem Word-Dokument eine handschriftliche Unterschrift hinzu So fügen Sie einem Word-Dokument eine handschriftliche Unterschrift hinzu Mar 20, 2024 pm 08:56 PM

Word-Dokumente sind aufgrund ihrer leistungsstarken Funktionen weit verbreitet und können nicht nur verschiedene Formate wie Bilder und Tabellen usw. in Word einfügen, sondern für die Integrität und Authentizität der Dateien erfordern viele Dateien am Ende eine manuelle Signatur des Dokuments. Es klingt wie folgt: Wie löst man komplexe Probleme? Heute werde ich Ihnen beibringen, wie man einem Word-Dokument eine handschriftliche Unterschrift hinzufügt. Scannen oder fotografieren Sie die handschriftliche Unterschrift mit einem Scanner, einer Kamera oder einem Mobiltelefon und nehmen Sie dann mit PS oder einer anderen Bildbearbeitungssoftware den erforderlichen Zuschnitt am Bild vor. 2. Wählen Sie „Einfügen – Bild – Aus Datei“ im Word-Dokument an der Stelle, an der Sie die handschriftliche Unterschrift einfügen möchten, und wählen Sie die zugeschnittene handschriftliche Unterschrift aus. 3. Doppelklicken Sie auf das Bild der handschriftlichen Unterschrift (oder klicken Sie mit der rechten Maustaste auf das Bild und wählen Sie „Bildformat festlegen“). Daraufhin wird „Bildformat festlegen“ angezeigt.

So legen Sie Seitenränder für Word fest So legen Sie Seitenränder für Word fest Mar 19, 2024 pm 10:00 PM

Unter den Bürosoftwares ist Word eine unserer am häufigsten verwendeten Software. Die von uns erstellten Textdokumente müssen bei Bedarf in Papierform eingereicht werden. Vor dem Drucken muss das Layout festgelegt werden . bessere Ergebnisse erzielen. Die Frage ist also: Wie legt man Seitenränder in Word fest? Wir haben spezifische Kurserklärungen, die Ihnen helfen, Ihre Zweifel auszuräumen. 1. Öffnen oder erstellen Sie ein neues Word-Dokument und klicken Sie in der Menüleiste auf das Menü „Seitenlayout“. 2. Klicken Sie auf die Schaltfläche „Ränder“ der Option „Seite einrichten“. 3. Wählen Sie in der Liste einen häufig verwendeten Seitenrand aus. 4. Wenn in der Liste keine passenden Ränder vorhanden sind, klicken Sie auf „Benutzerdefinierte Ränder“. 5. Das Dialogfeld „Seite einrichten“ wird angezeigt. Geben Sie jeweils die Option „Ränder“ ein.

Wo ist die Schattierungseinstellung in Word? Wo ist die Schattierungseinstellung in Word? Mar 20, 2024 am 08:16 AM

Wir verwenden oft Word für Büroarbeiten, aber wissen Sie, wo sich die Schattierungseinstellungen in Word befinden? Heute werde ich Ihnen die spezifischen Operationsschritte mitteilen, schauen Sie sich das an, Freunde! 1. Öffnen Sie zunächst das Word-Dokument, wählen Sie einen Absatz mit Textabsatzinformationen aus, der mit einer Schattierung hinzugefügt werden soll, klicken Sie dann auf die Schaltfläche [Start] in der Symbolleiste, suchen Sie den Absatzbereich und klicken Sie auf die Dropdown-Schaltfläche rechts (wie im roten Kreis in der Abbildung unten dargestellt) ). 2. Nachdem Sie auf die Dropdown-Box-Schaltfläche geklickt haben, klicken Sie in den Optionen des Popup-Menüs auf die Option [Rand und Schattierung] (wie im roten Kreis in der Abbildung unten dargestellt). 3. Klicken Sie im Popup-Dialogfeld [Rand und Schattierung] auf die Option [Schattierung] (wie im roten Kreis in der Abbildung unten dargestellt). 4. Wählen Sie in der gefüllten Spalte eine Farbe aus

So zeichnen Sie eine gepunktete Linie in Word So zeichnen Sie eine gepunktete Linie in Word Mar 19, 2024 pm 10:25 PM

Word ist eine Software, die wir häufig in unserem Büro verwenden. Sie verfügt über viele Funktionen, die uns die Arbeit erleichtern können. Bei einem großen Artikel können wir beispielsweise die darin enthaltene Suchfunktion verwenden, um herauszufinden, dass ein bestimmtes Wort im Volltext falsch ist , damit wir es direkt ersetzen können. Wenn Sie das Dokument an Ihre Vorgesetzten senden, können Sie das Dokument verschönern, damit es besser aussieht usw. Nachfolgend wird Ihnen der Herausgeber die Schritte zum Zeichnen mitteilen Gepunktete Linie in Word. Lasst uns gemeinsam lernen! 1. Zuerst öffnen wir das Word-Dokument auf dem Computer, wie in der Abbildung unten gezeigt: 2. Geben Sie dann eine Textzeichenfolge in das Dokument ein, wie im roten Kreis in der Abbildung unten gezeigt: 3. Drücken Sie anschließend und Halten Sie [Strg+A] gedrückt. Wählen Sie den gesamten Text aus, wie im roten Kreis in der Abbildung unten dargestellt: 4. Klicken Sie oben in der Menüleiste auf [Start].

Spezifische Schritte zum Löschen des Abwärtspfeils in Word! Spezifische Schritte zum Löschen des Abwärtspfeils in Word! Mar 19, 2024 pm 08:50 PM

Wenn Sie im Büroalltag einen Text von einer Website kopieren und direkt in Word einfügen, sehen Sie häufig einen [Abwärtspfeil], der durch Auswählen gelöscht werden kann, wenn es jedoch zu viele sind solche Symbole. Gibt es also eine schnelle Möglichkeit, alle Pfeile zu löschen? Deshalb werde ich Ihnen heute die spezifischen Schritte zum Löschen des Abwärtspfeils in Word mitteilen! Zunächst einmal steht der [Abwärtspfeil] in Word tatsächlich für [Manueller Zeilenumbruch]. Wir können alle [Abwärtspfeile] durch [Absatzmarkierung]-Symbole ersetzen, wie in der Abbildung unten gezeigt. 2. Dann wählen wir die Option [Suchen und Ersetzen] in der Menüleiste (wie im roten Kreis in der Abbildung unten dargestellt). 3. Klicken Sie dann auf den Befehl [Ersetzen]. Es erscheint ein Popup-Fenster. Klicken Sie auf [Sondersymbole].

So zeichnen Sie eine Tabelle in Word So zeichnen Sie eine Tabelle in Word Mar 19, 2024 pm 11:50 PM

Word ist eine sehr leistungsfähige Office-Software. Word bietet im Vergleich zu WPS mehr Vorteile bei der Detailverarbeitung. Insbesondere wenn die Dokumentbeschreibung zu komplex ist, ist die Verwendung von Word in der Regel problemloser. Wenn Sie der Gesellschaft beitreten, müssen Sie daher einige Tipps zur Verwendung von Wörtern lernen. Vor einiger Zeit hat mir mein Cousin eine solche Frage gestellt. Ich sehe oft, wie andere Leute Tabellen zeichnen, wenn sie Word verwenden, und ich fühle mich auf einem sehr hohen Niveau. Ich habe damals gelacht, es schien ein hochrangiger Inhalt zu sein, aber tatsächlich waren nur drei Schritte erforderlich, um zu funktionieren. Wissen Sie, wie man eine Tabelle in Word zeichnet? 1. Öffnen Sie Word, wählen Sie die Stelle aus, an der Sie die Tabelle einfügen möchten, und suchen Sie in der oberen Menüleiste nach der Option „Einfügen“. 2. Klicken Sie auf die Option „Tabelle“ und es erscheinen dicht gepackte kleine Würfel.

See all articles