Heim >Backend-Entwicklung >PHP-Tutorial >Einführung in die Prinzipien der Implementierung der chinesischen Volltextsuche in PHP
Relevante Artikel oder Inhalte in der allgemeinen Entwicklung werden über Schlüsselwort-Tags und Titel durchsucht, diese Suche verwendet jedoch grundsätzlich ineffiziente Like-Anweisungen. Aufgrund der geringen Effizienz können wir bei der Entwicklung etwas größerer Projekte keine detaillierte Feldsuche nach Artikeln oder durchführen Verwandte Inhalte (der Server steht zu stark unter Druck und die Effizienz ist extrem gering).
Gemeinsame Lösungen
1. Sphinx + Coreseek
Vorteile: ausgereifte und stabile Technologie
Nachteile: Sphinx unterstützt kein Chinesisch coressk hat derzeit die Wartung eingestellt [Wenn es sich um eine rein englische Umgebung handelt, ist Sphinx ausgezeichnet]
2. Xunsearch (Xunsearch)
Vorteile: ausgereifte und stabile Technologie
Nachteile: Der Installationsprozess ist kompliziert und die Konfiguration ist nicht flexibel genug
3. MySQL-Volltextsuche
Vorteile: Einfache Installation und hohe Effizienz
Nachteile: Nicht gut genug für chinesische Unterstützung
Lösung von hcoder (Wortsegmentierung + unabhängige Konfiguration)
Vorteile: Einfache Installation (PHP-Komponente), die unterste Ebene wird geschrieben Durch den Entwickler selbst ist die unterste Ebene klarer und einfacher. Optimierung
Nachteile: Entwickler benötigen eine PHP + MySQL-Grundlage und müssen den Code für den gesamten Prozess selbst schreiben
Prinzip
1、获取词语环节 文章数据表 -> 逐行读取文章信息 -> 组合所有文字内容 -> 分词、去重 -> 记录到新的数据表 2、搜索环节 搜索关键字记录表 -> 合并文章数据 -> 去重 -> 展示数据
verwendete Drittanbieterkomponenten (scws)
http://www.xunsearch.com/scws/
SCWS ist die Abkürzung für Simple Chinese Word Segmentation (d. h.: Simple Chinese Word Segmentation System) .
Dies ist eine mechanische chinesische Wortsegmentierungsmaschine, die auf einem Worthäufigkeitswörterbuch basiert und im Grunde einen ganzen Absatz chinesischen Textes korrekt in Wörter segmentieren kann. Wort ist die kleinste Morphemeinheit im Chinesischen, aber beim Schreiben werden Wörter nicht wie im Englischen durch Leerzeichen getrennt. Daher war es bei der chinesischen Wortsegmentierung schon immer ein schwieriges Problem, Wörter genau und schnell zu segmentieren.
SCWS wurde in reiner C-Sprache entwickelt und ist nicht auf externe Bibliotheksfunktionen angewiesen. Es kann direkt dynamische Linkbibliotheken zum Einbetten von Anwendungen verwenden. Darüber hinaus wird ein PHP-Erweiterungsmodul zur Verfügung gestellt, um die Wortsegmentierungsfunktion in PHP schnell und einfach nutzen zu können.
Der Wortsegmentierungsalgorithmus enthält nicht viele innovative Elemente. Er verwendet das von ihm selbst gesammelte Worthäufigkeitswörterbuch, ergänzt durch bestimmte Eigennamen, Namen von Personen, Ortsnamen, digitale Zeitalter und andere Regelerkennungen, um eine grundlegende Erkennung zu erreichen Die Genauigkeit des Bereichstests liegt zwischen 90 % und 95 %, was grundsätzlich den Anforderungen einiger kleiner Suchmaschinen, der Schlüsselwortextraktion und anderen Gelegenheiten gerecht werden kann. Die erste Prototypversion wurde Ende 2005 veröffentlicht.
SCWS wurde von hightman entwickelt und als Open Source unter der BSD-Lizenz veröffentlicht. Der Quellcode wird auf Github gehostet.
Das obige ist der detaillierte Inhalt vonEinführung in die Prinzipien der Implementierung der chinesischen Volltextsuche in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!