Das offizielle Standard-Wortsegmentierungs-Plugin von elasticsearch ist nicht ideal für die chinesische Wortsegmentierung. Zum Beispiel werde ich nun ein konkretes Beispiel nehmen, um zu zeigen, warum das Wortsegmentierungs-Plugin der offiziellen ES-Website für die chinesische Wortsegmentierung nicht effektiv ist. Referenzdokumentation:
https://www.elastic.co/guide/en/ ... ting_analyzers.html
https://www.elastic.co/guide/en/ ... ndices-analyze.html
Wir reichen ein Datenstück an die Analyseoberfläche ein, wie folgt:
http://ip:9200/_analyze POST请求
Wenn Sie Elasticsearch direkt nutzen, werden Sie bei der Suche nach chinesischen Inhalten definitiv auf peinliche Probleme stoßen.Chinesische Wörter werden nacheinander in chinesische Zeichen unterteiltWenn Kibana zum Zeichnen verwendet wird, gruppiert man sich nach Begriff, wodurch ein chinesisches Zeichen in eine Gruppe unterteilt wird.
Glücklicherweise gibt es zwei chinesische Wortsegmentierungs-Plug-ins, die von medcl (einer der frühesten Studien von ES in China) geschrieben wurden, eines ist ik und eines ist mmseg, und das folgende führt nur die Verwendung von ik ein.
Das IK Analysis-Plugin integriert den Lucene IK Analyzer in Elasticsearch und unterstützt individuelle Wörterbücher.
ELASTICSEARCH-Analysis-IK Projektadresse:https://github.com/medcl/elasticsearch-analysis-ik
Install elasticsearch-analysis-ik
Zuerst stoppt man Elasticsearch, JPS findet die Prozess-ID und tötet sie mit der Kill-9-Prozess-ID! (Ich habe es sowieso nicht getestet, es ist sicherer, anzuhalten und zu installieren)
Installieren Sie mit elasticsearch-plugin (unterstützt von Version 5.5.1):
Hinweis: Ersetzen Sie 6.3.0 durch Ihre eigene Version von Elasticsearch
Ich habe es auf meinem Server installiertElasticsearch ist 6.5.2Version, also lautet der Befehl wie folgt:
Der Installationsfehler lautet wie folgt:
Ausnahme im Thread "main" java.nio.file.FileSystemException: /usr/local/elasticsearch-6.5.2/config/analysis-ik: Operation nicht erlaubt
Das Elasticsearch-Installations-Plugin muss als Root ausgeführt werdenDeshalb verwenden wir Su-Root, um in den Administratorstatus zu wechseln, die Installation erneut durchzuführen, und es ist erfolgreich, wie in der untenstehenden Abbildung gezeigt:
Wir testen, indem wir erneut eine Beitragsanfrage in die Benutzeroberfläche senden, und der Inhalt des Beitrags ist wie folgt:
Ich stellte fest, dass ich unsere Semantik normal verstehen konnte, und unterteilte "Architekt", "schön" und "Architektur" in einem Wort.
Was ist der Unterschied zwischen ik_max_word und ik_smart?
ik_max_word: Der Text wird in die feinste Granularität unterteilt, wie die "Nationalhymne der Volksrepublik China" in "Volksrepublik China, Chinesisches Volk, China, China, Volksrepublik, Volk, Volk, Volk, Republik, Republik, Er, Nationalhymne" aufgeteilt wird und alle möglichen Kombinationen ausschöpft;
ik_smart: Es wird die gröbste Spaltung bewirken, wie etwa die Aufspaltung der "Nationalhymne der Volksrepublik China" in die "Nationalhymne der Volksrepublik China".
|