居然是你

ik分词不准确问题

Elasticsearch | 作者 chenyuhui | 发布于2018年01月25日 | 阅读数:4976

比如对“进口红酒”细粒度分词会得到“进口”“口红”“红酒”,有没有办法可以把口红去掉,不能用ik_smart,因为索引用ik_smart会导致很多数据搜索不到
已邀请:

qinyuezhan

赞同来自: laoyang360

用ansj是可以实现的;
开源码:https://github.com/NLPchina/el ... -ansj 

GET _analyze
{
  "text": "进口红酒",
  "analyzer": "index_ansj"
}
分词结果如下
{
  "tokens": [
    {
      "token": "进口",
      "start_offset": 0,
      "end_offset": 2,
      "type": "vn",
      "position": 0
    },
    {
      "token": "红酒",
      "start_offset": 2,
      "end_offset": 4,
      "type": "n",
      "position": 1
    }
  ]
}

code4j - coder github: https://github.com/rpgmakervx

赞同来自:

那就去词库删掉口红。
其实我们的做法是索引期用ik, 搜索用ik_smart,词库里面加上  进口红酒  这个term,这样我搜索的特定词就能够得到匹配。坏处就是  进口洋酒  这种词可能搜不出来了,不过这个业务上是能接受的,毕竟你搜的是 红酒, 除非你搜  进口。

要回复问题请先登录注册