当前位置:   article > 正文

es模糊查询的问题_es like查询不到

es like查询不到

es模糊查询的问题

今天在遇到es查询的时候,遇到了难点,花了半天才发现问题原因。

需求是:es实现模糊查询。相当于sql中的like %像%一样。但是在开发过程中,我使用了各种分词,各种查询代码,总是实现不了。

问题:

比如:我查询切片面包可以查询出来,但是我查询切面包就查询不出来。

​ 原因是es默认采用了分词机制,导致我查询的时候,切面包没有放在一个分词中,查询不到。

MatchQueryBuilder matchQueryBuilder = new MatchQueryBuilder("name", name);
//        Iterable<Commodity> iterable = commodityRepository.search(matchQueryBuilder);
//        Iterable<Commodity> iterable = commodityRepository.search(matchQueryBuilder);
//        iterable.forEach(e->list.add(e));
  • 1
  • 2
  • 3

查询资料后,我测试下面的代码:

WildcardQueryBuilder  wildcardQueryBuilder = QueryBuilders.wildcardQuery("name", "*" name "*");
Iterable<Commodity> iterable = c
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/882668
推荐阅读
相关标签
  

闽ICP备14008679号