Elasticsearch使用jcseg分词插件遇到的高亮highlight问题

3 篇文章 0 订阅
3 篇文章 0 订阅

Elasticsearch使用jcseg分词插件遇到的高亮highlight问题

问题描述

在使用jcseg分词插件,并且需要高亮关键词的时候遇到es查询报错:
invalid token offsets exception : Token 11月 15日 exceeds length of provided text sized 14
在这里插入图片描述

问题是这样的:现在发现分词会将“11月15日”变成“11月 15日”,在中间加了一个空格。这样一来,在高亮的时候,使用position标记的时候就会偏移。比如在“我11月15日去看电影”中搜索的关键字“11月15日”,高亮后的结果是“11月15日去”。当“11月15日”在句子末尾的时候,就会直接报错。

解决办法

索引分词模式,由jcseg_nlp,改成jcseg_complex,然后重新建索引

除此之外,还遇到 原文“三万”,分词后变成“30000”的问题,不过经过查看jcseg的配置文件,发现是它的一个功能:将中文数字转成阿拉伯数字。
在配置文件中将这个功能关闭,然后重启ES,重建索引,就解决了这个问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值