ES在JAVA中的应用

本文介绍了Elasticsearch中的搜索方法,如match模糊搜索、match_phrase精准搜索以及term查询的区别,强调了在处理中文字段时match_phrase的适用性。还展示了如何使用NativeSearchQueryBuilder和BoolQueryBuilder进行精确查询,如使用termQuery和matchQuery。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

match 模糊搜索 (搜索中文时,容易出错),分词,包含任一分词就会展示

match_phrase 精准搜索(必须包含一模一样的串,才会返回),分词,包含所以分词就会展示

term查询与match的效果类似,区别是term不分词,match会分词

term查询和match_phrase都是不分词匹配,但是match_phrase经常用来匹配中文字段

terms查询类似于sql中的in效果,同样也是不能分词:

NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder();

BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();

boolQuery.must(QueryBuilders.termQuery("ES中字段的名字", "查询的字短的value"));

boolQuery.must(QueryBuilders.matchQuery("ES中字段的名字", "查询的字短的value");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值