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:之前还有个搜索纯数字的问题,现在直接让搜纯数字的时候走正则匹配了。但是这种