码迷,mamicode.com
首页 > 其他好文 > 详细

ElasticSearch第三步-中文分词

时间:2015-04-03 19:17:11      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmseg的,下面分别介绍ik的用法,

当我们创建一个index(库db_news)时,easticsearch默认提供的分词器db_news,分词结果会把每个汉字分开,而不是我们想要的根据关键词来分词。例如:

代码如下:

GET /db_news/_analyze?analyzer=standard
{
    我爱北京天安门
}

分词结果如下:

{
   "tokens": [
      {
         "token": "我",
         "start_offset": 6,
         "end_offset": 7,
         "type": "<IDEOGRAPHIC>",
         "position": 1
      },
      {
         "token": "爱",
         "start_offset": 7,
         "end_offset": 8,
         "type": "<IDEOGRAPHIC>",
         "position": 2
      },
      {
         "token": "北",
         "start_offset": 8,
         "end_offset": 9,
         "type": "<IDEOGRAPHIC>",
         "position": 3
      },
      {
         "token": "京",
         "start_offset": 9,
         "end_offset": 10,
         "type": "<IDEOGRAPHIC>",
         "position": 4
      },
      {
         "token": "天",
         "start_offset": 10,
         "end_offset": 11,
         "type": "<IDEOGRAPHIC>",
         "position": 5
      },
      {
         "token": "安",
         "start_offset": 11,
         "end_offset": 12,
         "type": "<IDEOGRAPHIC>",
         "position": 6
      },
      {
         "token": "门",
         "start_offset": 12,
         "end_offset": 13,
         "type": "<IDEOGRAPHIC>",
         "position": 7
      }
   ]
}

 

正常情况下,这不是我们想要的结果,比如我们更希望 “我”,“爱”,“北京”,"天安门"这样的分词,这样我们就需要安装中文分词插件,ik就是实现这个功能的。

 安装ik插件

下载地址:https://github.com/medcl/elasticsearch-analysis-ik

 

ElasticSearch第三步-中文分词

标签:

原文地址:http://www.cnblogs.com/eggTwo/p/4390620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!