Maison  >  Article  >  développement back-end  >  Utilisez le segmenteur de mots elasticSearch+ik pour la recherche en texte intégral dans un environnement PHP

Utilisez le segmenteur de mots elasticSearch+ik pour la recherche en texte intégral dans un environnement PHP

藏色散人
藏色散人avant
2020-01-06 16:49:195385parcourir

La première chose à noter est que si vous devez activer le segmenteur de mots ik, la version du segmenteur de mots doit être cohérente avec la version es, c'est-à-dire que le segmenteur de mots 6.3.0 a besoin de la même version 6.3.0. de son soutien.

Installer Java

Le package d'installation Win-64bit doit être trouvé sur le site officiel de Java en anglais

Installer elasticSearch (ES)

Adresse de téléchargement de la version 6.3.0 :

https://www.elastic.co/downloads/past-releases/elasticsearch-6-3-0

Recommandation de cours→ :"Elasticsearch Full Text Search Practical Combat"(Vidéo pratique)

Du cours "Solution de concurrence de données de niveau dix millions (théorique + pratique)》

Installer IK

Dans l'environnement Win, entrez bin avec la ligne de commande, puis exécutez

elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.0/elasticsearch-analysis-ik-6.3.0.zip

Puis redémarrez es. De plus, es n'a pas de fonction de redémarrage à chaud. Si vous souhaitez redémarrer après le démarrage du démon, vous pouvez uniquement tuer le processus puis démarrer es

Installer le client php

composer require elasticsearch/elasticsearch

Configurer le dictionnaire distant ik

Modifier la configuration de la réponse dans IKAnalyzer.cfg.xml

<!--用户可以在这里配置远程扩展字典 -->
<entry key="remote_ext_dict">http://xxx.com/getDic.php</entry>
<!--用户可以在这里配置远程扩展停止词字典-->
<entry key="remote_ext_stopwords">http://xxx.com/getDicStop.php</entry>

Si quelque chose comme "java.security.AccessControlException : accès refusé (java.net. SocketPermission 127.0.0.1:8080 connect,resolve)", la solution consiste à trouver le fichier %JAVA_HOME%/jre6/lib/security/java.policy et à ajouter l'autorisation java.net.SocketPermission "127.0. 0.1:8080","connect "; Puis redémarrez es

À propos du dictionnaire distant ik

Les mots du dictionnaire étendu seront filtrés et les mots du les mots vides étendus seront filtrés ;

Autrement dit, si vous souhaitez que certains mots soient traités comme un seul mot, comme divers mots populaires, ajoutez-les au dictionnaire étendu

Si vous le souhaitez ; souhaitez filtrer certains mots, ajoutez-les Ajoutés aux mots vides étendus.

Pour plus de connaissances sur PHP, veuillez visiter le Tutoriel PHP !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer