游戏技术文章

在ElasticSearch中使用 IK 中文分词插件

时间:2017-4-4 18:12:45  作者:棋牌资源网  来源:棋牌资源网  查看:7970  评论:0
内容摘要:我这里集成好了一个自带IK的版本,下载即用,https://github.com/xlb378917466/elasticsearch5.2.include_IK 添加了IK插件意味着你可以使用ik_smart(最粗粒度的拆分)和ik_max_word(最细粒度的拆分)...
我这里集成好了一个自带IK的版本,下载即用,

https://github.com/xlb378917466/elasticsearch5.2.include_IK

 添加了IK插件意味着你可以使用ik_smart(最粗粒度的拆分)ik_max_word(最细粒度的拆分)两种analyzer

 你也可以从下面这个地址获取最新的IK源码,自己集成,

https://github.com/medcl/elasticsearch-analysis-ik

里面还提供了使用说明,可以很快上手。

一般使用elasticsearch-head测试比较方便。

在ElasticSearch中使用_IK_中文分词插件

这个IK分词插件挺好用的,支持自定义分词,更重要的是支持热更新。

比如上面这个应用程序层是被分成了两个词,如果你把应用程序层作为一个词添加到你的自定义词典中,那么结果就会发生微妙的变化,通过这样不断的完善词库,相信搜索的体验会越来越好。

在ElasticSearch中使用_IK_中文分词插件

现在IK分词插件也算集成好了,如何使用?

首先新建一个索引,并且给这个索引下的文档类型设置Mapping关系

这里还是继续使用昨天新建的索引twitter作例子,所以只需要给文档类型tweet 新建一个字段Content,并设置这一个字段的Mapping来举例:

http://localhost:9200/twitter/_mapping/tweet/

1
2
3
4
5
6
7
8
9
10
11
12
13
{
  "properties": {
    "content": {
      "type""text",
      "store""no",
      "term_vector""with_positions_offsets",
      "analyzer""ik_smart",
      "search_analyzer""ik_smart",
      "include_in_all""true",
      "boost": 8
    }
  }
}

 这样一来,后面添加的Content就会使用ik_smart来分词,

添加一条测试数据:

http://localhost:9200/twitter/tweet/1/  选择Put  Method

1
2
3
{
  "content""应用程序层是一个附加层"
}

 查询测试:

http://localhost:9200/twitter/_search/

使用POST Method,因为我使用ElasticSearch Head 在Get的情况下不返回highlight信息

1
2
3
4
5
6
7
8
9
10
{
  "query" : { "match" : { "content" "应用程序层是一个附加层" }},
  "highlight" : {
        "pre_tags" : ["<tag1>""<tag2>"],
        "post_tags" : ["</tag1>""</tag2>"],
        "fields" : {
            "content" : {}
        }
    }
}

 返回如下:

在ElasticSearch中使用_IK_中文分词插件

 

使用应用程序关键词是搜不到内容的,因为分词器不识别 这个词,就是说你要用被你拆分之后的词来搜索,才有匹配的记录。

 

在ElasticSearch中使用_IK_中文分词插件

比如下面几个就是被拆分出来的词

在ElasticSearch中使用_IK_中文分词插件

标签:在ElasticSearch中使用IK中文分词插件 

欢迎加入VIP,【VIP售价:只要288元永久VIP会员】畅享商业棋牌游戏程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:1004003180  [人格担保-本站注重诚信!]

☉购买建议E-mail:1004003180@qq.com   源码收购 E-mail:1004003180@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】


本站提供的所有源码,均来源站长提供,仅学习交流 浙ICP备09009969号

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 1004003180@qq.com 将及时更正和删除! 

Copyright © 2008-2022 棋牌资源网,你身边的棋牌资源下载站    All Rights Reserved