Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Prinzipien der Implementierung der chinesischen Volltextsuche in PHP

Einführung in die Prinzipien der Implementierung der chinesischen Volltextsuche in PHP

藏色散人
藏色散人nach vorne
2019-04-26 10:48:025435Durchsuche

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:hcoder.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen