用一句话总结问题便是:使用ik分词器,“长”关键字wildcard搜索不到数据。
关键词为“鸿运”可以搜索到数据,但是“鸿运物流”却搜索不到。
mapping分词器设置
分析
解析结果:
分析结果:
解析结果:
ik分词之后,wildcard就不能正常使用了?目前经过测试,答案正是如此;我们又没有太多的精力来维护ik分词器的词典。
修改属性配置
于是重建索引,不再使用ik分词器,关键字段设置为:
使用ik分词器时,是看不到name.keyword属性的;默认分词器才会有。
重建索引后测试,wildcard可以正常使用了。
本总结以搜索name属性为例。
- 搜索字段为中文时,使用ik分词器会影响wildcard搜索,搜索属性为“name”,且无属性。
- 搜索字段为中文时,使用默认分词器时wildcard可以正常搜索,搜索属性应为;
- 搜索字段为数字或英文构成的字符串时,搜索属性可以使用或。