ES IK拼音插件踩坑及填坑记录

作者&投稿:荀祥 (若有异议请与网页底部的电邮联系)
~ 最近在给es插入文档的时候,忽然报错,提示如下:

ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=startOffset must be non-negative, and endOffset must be >= startOffset, and offsets must not go backwards startOffset=0,endOffset=3,lastStartOffset=3 for field 'title.pinyin']]

感觉是在用ik拼音分词的时候报的错。

并不是所有的文档在插入的时候会报错,只有在title字段包含特殊符号的时候会报错,上网查了一下原因,说是ik拼音插件的错误,只需要升级一下插件的版本即可。

然而因为用的是阿里云的es服务,不能对插件进行升级,所以这个方法行不通。

也有说是因为,将参数“ignore_pinyin_offset”设置为false后,并向pinyin分词字段批量写入数据,即会出现“startOffset must be non-negative, and endOffset must be >= startOffset, and offsets must not go backwards”异常。所以将ignore_pinyin_offset设为true即可。

设置前的配置:

设置后的配置:

改完之后重新索引一遍文件,结果还是报这个错。

就这么折腾了两天之后,发现既然这是这个版本的本身的bug,然后阿里云那边又不给升级版本,那为什么不曲线救国呢?

前面一开始排查的时候发现,是标题含有特殊符号的时候,才会出现这个bug,那么可以在拼音分词之前,再加一个filter,把特殊符号过滤掉,自然就没问题了。

于是我先配置了一个filter:

然后再把这个filter配置到analyzer里:

这样,在用ik_pinyin_analyzer分词之前,会先通过specialCharactersFilter的正则表达式过滤,把所有的特殊符号都过滤掉,然后再用my_pinyin进行拼音分词。

这么处理后,就不会出现上面出现的错误了。

注:上述配置都是个性化配置,得根据自己的习惯和要求来配置,不用照搬,只要是加个新建一个filter然后加到pinyin前即可。


嫩江县13694545298: elasticsearch集成ik分词器怎样设置不分词 -
歹志喜素: 解压ik,并进入ik 执行 mvn package 编译ik 复制文件 将elasticsearch-analysis-ik-master/target/releases/elasticsearch-analysis-ik-1.6.1.zip 拷贝到es的plugin/ik目录下并解压 同时将elasticsearch-analysis-ik-master/config/ik文件夹拷贝到es的config下 然后重启es,就可以了.

嫩江县13694545298: 江南百景图长恨歌阿瓜的坑任务如何完成
歹志喜素: 江南百景图长恨歌阿瓜的坑任务如何完成1、阿瓜的坑并没有什么作用,就是游戏的一个彩蛋,属于剧情的部分;2、所以玩家并不用去填坑,任务完成百分百,坑也在那里;3、阿瓜的坑需要先把两个野猪之间的花采集完,让两只野猪相遇;4、之后旁边的迷雾就会解开,这个时候再过去找阿瓜的坑即可.

嫩江县13694545298: 无双珠为什么是坑人珠
歹志喜素: 无双珠被称为坑人珠的原因是被无双珠诅咒的两个人从此命运相连,还要同步伤害和感知,十分坑人,因此有了坑人珠的称号.无双珠,为唐家三少所著小说《神澜奇域无双珠》及其衍生作品中的神器.无双珠是为了抵挡法蓝星出现的大灾变而炼制出的七神珠之一,由法域先祖法初与蓝域先祖蓝琼和其他妖、精两族大能合力炼制出,并在无双珠之中留下了法初与蓝琼的烙印,在多年之后由法华与蓝歌二人获得.它是一枚通体晶莹剔透,内部却仿佛有白雾流转的珠子.在那白色珠子氤氲的光芒中,似乎有天地至理.

嫩江县13694545298: 坑的拼音和组词(坑的拼音和组词有哪些)
歹志喜素: 1、坑的组词:2、(1)绑架,粪坑,坑,隧道,碉堡,坑木,坑井,焚书,埋儒,坑人.3、(2)坑、陷、矿、坑、窑坑、火坑、坑洞、坑洞、矿冶、金坑.4、(3)鱼仓坑、灰坑不冷坑、山坑、三坑水库、丁坑、坑岸、坑填和坑脊.5、坑的拼音:kng.

嫩江县13694545298: 下载游戏,下来好几个bin文件和一个ex文件. -
歹志喜素: 1.单击文件,然后按F2(即 重命名),把.ex改成.exe.2.单击文件,然后按F2(即 重命名),把.bin文件:把后缀名改为".iso"再用虚拟光驱打开3.运行.exe文件 注:需要下一张磁盘就是你用虚拟光驱打开的磁盘!Leo

嫩江县13694545298: 打酱油,鸡肋,坑爹是什么意思啊? -
歹志喜素: 打酱油来源于贾平凹文章《笑口常开》,是指以前的酱油都是零卖零买的,自己拿着瓶子到商店,你要多少,人家就给你称多少.网络上不谈政治,不谈敏感话题,与自己无关,自己什么都不知道,相当于路过.鸡肋(Chicken ribs)一个汉语...

嫩江县13694545298: 电脑玩大型游戏就蓝屏 -
歹志喜素: 我也是Y480N 650显卡,玩孤岛危机3 ,魔兽世界等各类游戏均未出现问题,你显卡驱动更新下吧 玩游戏的时候右键选择高性能显卡

嫩江县13694545298: 手机安卓2.3.3系统怎么安装软件?很小白的问题 -
歹志喜素: 第一种方法:在电脑把软件下载下来(后缀是apk) 格式,然后在手机里面点击安装就可以了.第二种方法:在手机上下载(通过安卓市场,安智市场,机锋市场,或者直接通过UC...

嫩江县13694545298: 怎么在安卓桌面上显示文件 -
歹志喜素: 安装一个ES文件管理器.如果想把哪个文件显示在桌面,就进入ES文件管理器,长按文件,会有一个发送到桌面快捷方式的选项

嫩江县13694545298: 我从游戏中学到了语文 -
歹志喜素: 语文是一门十分重要的科目.将来走向社会处处都要用到语文知识,所以说,学好语文非常重要. 在生活中处处都隐藏着语文.暑假里,我在一个名叫《谁最棒》的游戏中学到了语文.游戏是在它...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网