即使是不成熟的尝试,也胜于胎死腹中的策略。

ES如何实现对多个字段的精准匹配?

Elasticsearch | 作者 shandongdahan | 发布于2017年07月17日 | 阅读数:13689

想实现类似于:field1 like '%keyword%' OR field2 like '%keyword%'的效果?请教用JAVA API如何实现?
已邀请:

DK

赞同来自: laoyang360 dezhonger

我使用的是5.4版本的es
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.should(QueryBuilders.wildcardQuery("field1", "*keyword*"))
.should(QueryBuilders.wildcardQuery("field2", "*keyword*"));
should 类似于or的意思,wildcardQuery是正则匹配,搭配起来可以实现你需要的效果

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

用bool should结合

LXJ

赞同来自:

有解决方案吗

要回复问题请先登录注册