关于ElasticSearch 5.X分词器的问题

           在近几天的工作中,发现在ES的查询请求分词出现了点问题,ES的索引构建的mapping指定了分词器为ik_smart,但查询请求中没指定分词器,按理应该采用mapping中指定的分词器才对,但实际发现请求在服务器端处理采用的是standard。


关于ElasticSearch 5.X分词器的问题


关于ElasticSearch 5.X分词器的问题


网上查了各种资料,尝试过各种方式都不正确,后来感觉可能是mapping中字段分词器的设置方式是不是存在问题,于是做了一下调整:

     关于ElasticSearch 5.X分词器的问题

    之前的分词设置是放在了all中配置的,调整到字段中设置,验证发现结果居然成功了。搜索请求在服务端的查询结果如下,采用的分词器是ik,结果如下:关于ElasticSearch 5.X分词器的问题

   搜索请求:

关于ElasticSearch 5.X分词器的问题

  经过验证,在搜索请求中未指定分词器的情况下,ES服务端是按照mapping中字段设置分词器进行分词的,且分词器一定要设置在mapping文件的字段中才能生效。