Le plugin officiel de segmentation par défaut d’elasticsearch n’est pas idéal pour la segmentation chinoise. Par exemple, je vais maintenant prendre un exemple précis pour expliquer pourquoi le plugin de segmentation des mots fourni par le site officiel de l’ES n’est pas efficace pour la segmentation des mots chinois. Documentation de référence :
https://www.elastic.co/guide/en/ ... ting_analyzers.html
https://www.elastic.co/guide/en/ ... ndices-analyze.html
Nous soumettons une donnée à l’interface d’analyse, comme suit :
http://ip:9200/_analyze POST请求
Si vous utilisez directement Elasticsearch, vous rencontrerez certainement des problèmes embarrassants lors des recherches de contenu chinois.Les mots chinois sont divisés en caractères chinois un par unLorsqu’on utilise Kibana pour dessiner, on regroupe selon le terme, et par conséquent, un caractère chinois est divisé en groupe.
Heureusement, il existe deux plug-ins de segmentation des mots chinois écrits par medcl (l’une des premières personnes à étudier l’ES en Chine), l’un est ik et l’autre mmseg, et le suivant n’introduit que l’utilisation de ik.
Le plugin IK Analysis intègre l’analyseur Lucene IK dans elasticsearch et prend en charge des dictionnaires personnalisés.
Adresse du projet elasticsearch-analysis-ik :https://github.com/medcl/elasticsearch-analysis-ik
Install elasticsearch-analysis-ik
D’abord, arrêtez Elasticsearch, JPS trouve l’ID du processus, et coupez-le avec kill -9 ID de processus ! (Je ne l’ai pas testé de toute façon, c’est plus sûr de s’arrêter et d’installer)
Installer à l’aide du plugin elasticsearch (pris en charge depuis la version v5.5.1) :
Note : Remplacez la 6.3.0 par votre propre version d’elasticsearch
Je l’ai installé sur mon serveurElasticsearch est la version 6.5.2La version suivante, donc, la commande est la suivante :
L’erreur d’installation est la suivante :
Exception dans le thread « main » java.nio.file.FileSystemException : /usr/local/elasticsearch-6.5.2/config/analysis-ik : Opération non autorisée
Le plugin d’installation Elasticsearch doit être exécuté en tant que rootAinsi, nous utilisons su root pour passer au statut administrateur, refaire l’installation, et cela réussit, comme montré dans la figure ci-dessous :
Nous testons en soumettant à nouveau une demande de publication à l’interface, et le contenu de la publication est le suivant :
J’ai constaté que je pouvais comprendre notre sémantique normalement, et j’ai divisé « architecte », « belle » et « architecture » en un seul mot.
Quelle est la différence entre ik_max_word et ik_smart ?
ik_max_word : Le texte sera divisé en la plus fine granularité, comme l'« Hymne national de la République populaire de Chine » qui sera divisé en « République populaire de Chine, Peuple chinois, Chine, Chinois, République populaire, Peuple, Peuple, Peuple, République, Hé, Hymne national », et épuisera toutes les combinaisons possibles ;
ik_smart : Il fera le niveau le plus grossier de scindement, comme scinder « Hymne national de la République populaire de Chine » en « Hymne national de la République populaire de Chine ».
|