Home > Backend Development > PHP Tutorial > Use elasticSearch+ik word segmenter for full-text search in PHP environment

Use elasticSearch+ik word segmenter for full-text search in PHP environment

藏色散人
Release: 2023-04-08 07:38:02
forward
5408 people have browsed it

The first thing to note is that if you need to enable the ik word segmenter, the version of the word segmenter must be consistent with the es version, that is, the 6.3.0 word segmenter needs the same 6.3.0 version of es support.

Install java

Win-64bit installation package needs to be found on the java English official website

Install elasticSearch (ES)

6.3.0 version es download address:

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

Course Recommendation →: "Elasticsearch Full-text Search Practical Combat" (Practical Video)

From the Course "Ten Million Level Data Concurrency" Solution (theory and practice)》

Install IK

In the win environment, enter the bin command line and then execute

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

Then restart es. In addition, es does not have a hot restart function. If you want to restart after the daemon is started, you can only kill the process first and then start es

Install the php client

composer require elasticsearch/elasticsearch
Copy after login

Configure ik remote dictionary

Change the response configuration in 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>
Copy after login

If something like "java.security.AccessControlException: access denied (java.net. SocketPermission 127.0.0.1:8080 connect,resolve)" error, the solution is to find the %JAVA_HOME%/jre6/lib/security/java.policy file and add permission java.net.SocketPermission "127.0.0.1:8080","connect "; Then restart es

About ik remote dictionary

The words in the extended dictionary will be filtered out, and the words in the extended stop words will be filtered out;

That is, if you want certain words to be treated as one word, such as various popular words, add them to the extended dictionary;

If you want to filter out certain words, add them Added to extended stop words.

For more PHP related knowledge, please visit PHP Tutorial!

The above is the detailed content of Use elasticSearch+ik word segmenter for full-text search in PHP environment. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template