视频教程分类
推荐视频教程
  • Laraval 9 学习正当时—保姆级教程,想学不会都难!Laraval 9 学习正当时—保姆级教程,想学不会都难!
  • 千万级数据并发解决方案(理论+实战)千万级数据并发解决方案(理论+实战)
  • Laravel基础与实战(模块化)Laravel基础与实战(模块化)
  • UNI-APP开发(仿饿了么)UNI-APP开发(仿饿了么)
  • 首页 >后端开发 >php教程 > 正文

    php环境下使用elasticSearch+ik分词器进行全文搜索

    转载2022-05-13 11:48:183491 关注公众号:每天精选资源文章推送
    首先需要说明的一点是,如果需要启用ik分词器,那么分词器的版本必须与es版本一致,即6.3.0的分词器需要同样6.3.0版本的es支持。

    安装java

    win-64bit的安装包需要去java英文官网查找

    安装elasticSearch(ES )

    6.3.0版本es下载地址:

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

    课程推荐→:《elasticsearch全文搜索实战》(实战视频)

    来自课程《千万级数据并发解决方案(理论+实战)》

    安装IK

    win环境下,命令行进入bin,然后执行

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

    然后重启es。另,es没有热重启功能,守护启动后如果想重启,只能先杀掉进程再启动es

    安装php客户端

    composer require elasticsearch/elasticsearch

    配置ik远程字典

    在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>

    如果重启es时出现类似“java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:8080 connect,resolve)”的报错,解决方法为找到%JAVA_HOME%/jre6/lib/security/java.policy 文件,添加permission java.net.SocketPermission "127.0.0.1:8080","connect"; 然后重启es

    关于ik远程字典

    扩展字典中的词会被筛选出来,扩展停止词中的词会被过滤掉;

    即如果你希望某几个字被视作一个词,比如各类流行词汇,则将其加入扩展字典;

    如果你希望过滤掉某几个词,则将其加入扩展停止词中。

    更多PHP相关知识,请访问PHP教程

    以上就是php环境下使用elasticSearch+ik分词器进行全文搜索的详细内容,更多请关注php中文网其它相关文章!

    高并发千万级数据库系统解决方案

    声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除

  • 相关标签:php
  • 相关文章

    相关视频


    专题推荐