Elasticsearch6 搜索,ik 分词器关于数字的问题

构建索引时,对“productName”字段搜索使用ik_smart分词器,存储使用ik_max_word分词器,如下所示:

"productName" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } }, "analyzer" : "ik_max_word", "search_analyzer" : "ik_smart" },

因为ik分词器对于数字分词处理有点问题:

  • 现在索引中存储有“测试1分”这个产品,ik_max_word分词器存储的时候分为了“测试”、“”两个词语;
  • 而搜索“1分”的时候,ik_smart分词器将其分成了“1分”一个词语;

所以说“1分”去匹配“分”匹配不到,结果为空(使用的match)。

这种ik分词器对于数字的处理该如何解决?疑惑已久了QAQ求助大佬们

PS:之前还有个搜索纯数字的问题,现在直接让搜纯数字的时候走正则匹配了。但是这种