Elasticsearch模糊查询

Elasticsearch模糊查询Elasticsearch模糊查询ES模糊查询共有三种:1.match分词匹配查询和match_phrase短语查询Elasticsearch的match_phrase短语查询跟match的区别就是,关键词作为一个整体进行搜索,而不是拆分成一个个关键词。当匹配对象为中文时,建议使用:Ma

大家好,欢迎来到IT知识分享网。

Elasticsearch模糊查询

ES模糊查询共有三种:

1.match 分词匹配查询和match_phrase短语查询

  Elasticsearch的match_phrase短语查询跟match的区别就是,关键词作为一个整体进行搜索,而不是拆分成一个个关键词。

  当匹配对象为中文时,建议使用:

  MatchPhraseQueryBuilder query = QueryBuilders.matchPhraseQuery(“name”, “*”+req.getName()+”*”);
2.wildcard 通配符检索

  类似SQL中的like,可以拼接*

  WildcardQueryBuilder query = QueryBuilders.wildcardQuery(“tel”, “*”+req.getTel()+”*”);
3.fuzzy 纠错查询,有一定容错性

亲测:match_phrase可行;

 

ES的OR实现:

BoolQueryBuilder query2 = QueryBuilders.boolQuery();

BoolQueryBuilder shouldQuery = QueryBuilders.boolQuery();
shouldQuery.should(QueryBuilders.wildcardQuery("a" , "1"));
shouldQuery.should(QueryBuilders.wildcardQuery("b" , "1"));

query2.must(shouldQuery);

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30286.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信