博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch搜索引擎第三篇-ES集成IKAnalyzer中文分词器
阅读量:4163 次
发布时间:2019-05-26

本文共 1616 字,大约阅读时间需要 5 分钟。

文章目录

在Lucene和Solr中讲到,集成中文分词器是相对比较麻烦的,需要我们自定义类并打成对应的jar包,在Elasticsearch中,我们不需要这么麻烦,因为已经有现成的插件可以使用。

获取ES-IKAnalyzer插件

下载地址:

这里一定要获取和Elasticsearch版本一致的。有Linux和Windows版本。

安装插件

将 ik 的压缩包解压到 ES安装目录的plugins/目录下(最好把解出的目录名改一下,防止安装别的插件时同名冲突),然后重启ES

扩展词库

插件中自带了一些扩展词和停用词,可以根据需要进行添加

在这里插入图片描述
在config/IKAnalyzer.cfg.xml中配置引用哪些停用词和扩展词,还可以配置远程的词库,只需要在一个地方维护就可以实现热更新

IK Analyzer 扩展配置
extra_main.dic;extra_single_word_full.dic
extra_stopword.dic;stopword.dic

Kibana测试

使用Kibana的Dev Tools界面测试,输入以下一些命令,会自动转换会对应的Kibana命令。

在这里插入图片描述

创建一个索引

curl -XPUT http://localhost:9200/index

创建一个映射mapping

curl -XPOST http://localhost:9200/index/fulltext/_mapping -H 'Content-Type:application/json' -d '{ "properties": {            "content": {                "type": "text",                "analyzer": "ik_max_word",                "search_analyzer": "ik_max_word"            }        }}'

提交一些索引数据

curl -XPOST http://localhost:9200/index/fulltext/1 -H 'Content-Type:application/json' -d'{"content":"美国留给伊拉克的是个烂摊子吗"}'curl -XPOST http://localhost:9200/index/fulltext/2 -H 'Content-Type:application/json' -d'{"content":"公安部:各地校车将享最高路权"}'curl -XPOST http://localhost:9200/index/fulltext/3 -H 'Content-Type:application/json' -d'{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}'

搜索

curl -XPOST http://localhost:9200/index/fulltext/_search  -H 'Content-Type:application/json' -d '{    "query" : { "match" : { "content" : "中国" }},    "highlight" : {        "pre_tags" : ["
", "
"], "post_tags" : ["
", ""], "fields" : { "content" : {} } }}'

转载地址:http://lgsxi.baihongyu.com/

你可能感兴趣的文章
docker 安装以及部署springboot项目和连接mysql
查看>>
docker安装nginx并部署一个静态项目
查看>>
钉钉开发之业务事件回调
查看>>
钉钉开发之动态获取access_token
查看>>
springboot消息之RabbitMQ(详细)
查看>>
springboot与检索(elasticsearch)
查看>>
springboot 与 任务(异步任务,邮件任务,定时任务)
查看>>
免费内网穿透工具之HTTP穿透
查看>>
http 请求 405 错误,解决办法
查看>>
MinIO存储在docker中安装及其使用
查看>>
java后端优雅进行参数校验
查看>>
MongoDB介绍以及安装和CRUD操作实例
查看>>
在Nginx/Tengine服务器上安装证书
查看>>
quartz整合springboot实现动态配置任务的CRUD详情操作
查看>>
docker中通过docker-compose安装GitLab中文社区版以及优化设置
查看>>
Mbatis-Plus整合springboot详细学习笔记
查看>>
Mybatis-Plus进阶之扩展插件
查看>>
centos 7 阿里云安装ftp服务以及创建用户
查看>>
业务规范之springboot整合swagger2
查看>>
业务规范之统一验证
查看>>