elasticsearch之ik分词器
1.安装
下载对应版本的ik分词器 下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
解压到 es安装目录的plugins的ik目录下
重启es
2.简介
1、ik_max_word
会将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。
2、ik_smart
会做最粗粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂。
索引时用 ik_max_word; 查询时用 ik_smart
3.使用
1.创建索引
PUT http://localhost:9200/my-index
2.创建mapping
//Content-Type:application/json
POST http://localhost:9200/my-index/_mapping
{
"properties": {
"content": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
}
}
}
3.添加文档
//Content-Type:application/json
POST http://localhost:9200/my-index/_create/1
{"content":"美国留给伊拉克的是个烂摊子吗"}
POST http://localhost:9200/my-index/_create/2
{"content":"公安部:各地校车将享最高路权"}
POST http://localhost:9200/my-index/_create/3
{"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"}
4.高亮查询
//Content-Type:application/json
POST http://localhost:9200/my-index/_search
{
"query" : { "match" : { "content" : "中国" }},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"content" : {}
}
}
}