全文检索工具elasticsearch5.6.4教程之中文分词器5.6.4安装与应用[非常重要]

笔记大纲
  • 下载对应版本zip包,上传自定义目录/usr/local/software下

  • 复制到/usr/share/elasticsearch/plugins下

  • 切换到plugins目录下

  • 解压压缩文件

  • 重启Linux系统

  • 重启系统

  • 验证中文分词

    • 默认词库
    • 指定ik_smart中文词库
    • 指定ik_max_word中文词库
  • 基于中文分词搭建索引

  • Nginx静态资源配置(作为远程扩展字典)

  • 自定义中文词库


(中文分词词典)分词器下载:https://github.com/medcl/elasticsearch-analysis-ik

一、下载对应版本zip包,上传自定义目录/usr/local/software下

在这里插入图片描述

二、复制到/usr/share/elasticsearch/plugins下

cp elasticsearch-analysis-ik-5.6.4.zip /usr/share/elasticsearch/plugins/ //备份

注意:plugins插件的存放层数很关键,不要自定义目录存放!!!

三、切换到plugins目录下
[root@localhost software]# cd /usr/share/elasticsearch/plugins/
[root@localhost plugins]# ll
total 4404
-rw-r--r--. 1 root root 4502411 Nov  7 14:22 elasticsearch-analysis-ik-5.6.4.zip
四、解压压缩文件

unzip elasticsearch-analysis-ik-5.6.4.zip

drwxrwxrwx. 3 root root    4096 Nov 12  2017 elasticsearch
-rw-r--r--. 1 root root 4502411 Nov  7 14:22 elasticsearch-analysis-ik-5.6.4.zip
五、reboot重启系统

  注意!!!重启电脑时需要删除elasticsearch-analysis-ik-5.6.4.zip压缩包!,不然elastisearch服务不能启动!
  查看elasticsearch服务状态 systemctl status elasticsearch

六、验证中文分词

   不同分词器,分词有明显区别,定义一个type不能再使用默认的mapping,要手工建立mapping, 因为要选择分词器!

(1)默认词库
GET movie_index/_analyze
{  
  "text": "我是Java程序员"
}

在这里插入图片描述

(2)指定ik_smart中文词库
GET movie_index/_analyze
{  
  "analyzer": "ik_smart", 
  "text": "我是Java程序员"
}

在这里插入图片描述

(3)指定ik_max_word中文词库
GET movie_index/_analyze
{  
  "analyzer": "ik_max_word", 
  "text": "我是Java程序员"
}

在这里插入图片描述

七、基于中文分词搭建索引
(1)新建索引
PUT movie_chn
{
  "mappings": {
    "movie_type_chn":{
      "properties": {
        "id":{
          "type": "long"
        },
        "name":{
          "type": "text"
          , "analyzer": "ik_smart"   //指定中文分析库
        },
        "doubanScore":{
          "type": "double"
        },
        "actorList":{
          "properties": {
            "id":{
              "type":"long"
            },
            "name":{
              "type":"keyword"  //keyword关键字
            }
          }
        }
      }
    }
  }
}

在这里插入图片描述

(2)新增测试数据
PUT /movie_chn/movie_type_chn/1
{ "id":1,
  "name":"红海行动",
  "doubanScore":8.5,
  "actorList":[  
  {"id":1,"name":"张译"},
  {"id":2,"name":"海清"},
  {"id":3,"name":"张涵予"}
 ]
}
PUT /movie_chn/movie_type_chn/2
{
  "id":2,
  "name":"湄公河行动",
  "doubanScore":8.0,
  "actorList":[  
{"id":3,"name":"张涵予"}
]
}

PUT /movie_chn/movie_type_chn/3
{
  "id":3,
  "name":"红海事件",
  "doubanScore":5.0,
  "actorList":[  
{"id":4,"name":"张晨"}
]
}
(3)查询测试数据
GET /movie_chn/movie_type_chn/_search
{
  "query": {
    "match": {
      "name": "红海战役"
    }
  }
}

在这里插入图片描述

GET /movie_chn/movie_type_chn/_search
{
  "query": {
    "term": {
      "actorList.name": "张译"
    }
  }
}

在这里插入图片描述

八、Nginx静态资源配置(作为远程扩展字典)

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述

server {
        listen  80;
        server_name  192.168.43.111;
        location /fenci/ {
           root es;  
    }
}

  在/usr/local/nginx/下建/es/fenci/目录加分词fenci.txt,fenci.txt进行关键词编写,每一行代表一个词!

vim fenci.txt //添加“林大侠侠大林林”关键词

在这里插入图片描述

重启nginx服务器

在这里插入图片描述

Windows进访问测试http://192.168.43.111/fenci/fenci.txt

  注意:需要下浏览器的默认编码,修改成UTF-8!

在这里插入图片描述

九、自定义中文词库

注意:(nginx发布静态资源)远程扩展字库更新,不需要重启nginx,不需要重启es!

[root@localhost config]# pwd
/usr/share/elasticsearch/plugins/elasticsearch/config
[root@localhost config]# ll
total 8260
-rw-r--r--. 1 root root 5225922 Nov 12  2017 extra_main.dic
-rw-r--r--. 1 root root   63188 Nov 12  2017 extra_single_word.dic
-rw-r--r--. 1 root root   63188 Nov 12  2017 extra_single_word_full.dic
-rw-r--r--. 1 root root   10855 Nov 12  2017 extra_single_word_low_freq.dic
-rw-r--r--. 1 root root     156 Nov 12  2017 extra_stopword.dic
-rw-r--r--. 1 root root     625 Nov 12  2017 IKAnalyzer.cfg.xml
-rw-r--r--. 1 root root 3058510 Jun 13  2016 main.dic
-rw-r--r--. 1 root root     123 Jun 13  2016 preposition.dic
-rw-r--r--. 1 root root    1824 Jun 13  2016 quantifier.dic
-rw-r--r--. 1 root root     164 Jun 13  2016 stopword.dic
-rw-r--r--. 1 root root     192 Jun 13  2016 suffix.dic
-rw-r--r--. 1 root root     752 Jun 13  2016 surname.dic
[root@localhost config]# vim IKAnalyzer.cfg.xml 

在这里插入图片描述

重启elastisearch服务

在这里插入图片描述

kibana控制台测试(测试成功!!!)http://192.168.43.111:5601/app/kibana#/dev_tools/console

在这里插入图片描述


 ☝上述分享来源个人总结,如果分享对您有帮忙,希望您积极转载;如果您有不同的见解,希望您积极留言,让我们一起探讨,您的鼓励将是我前进道路上一份助力,非常感谢!我会不定时更新相关技术动态,同时我也会不断完善自己,提升技术,希望与君同成长同进步!

☞本人博客:https://coding0110lin.blog.csdn.net/  欢迎转载,一起技术交流吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值