首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java Api实现弹性搜索查询

用Java Api实现弹性搜索查询
EN

Stack Overflow用户
提问于 2014-10-03 15:04:34
回答 1查看 9.5K关注 0票数 1

我正在开发JSF项目,并在原生Java Api(不是Jest)中使用Elastic Search。我为elasticsearch索引映射中的高级全文搜索定义了分析器和nGram过滤器。如何使用java api进行此查询定义?

代码语言:javascript
复制
curl -XPOST "http://localhost:9200/blurays/_search?pretty" -d'
{
"size": 10,
"query":{
"match":  {
"_all": {
"query": "yellow bird",
"operator": "and"
        }
          }
       }
}'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-03 15:25:58

我不确定您的意图,但如果您想创建一个"and"/"or“查询,请尝试如下所示:

代码语言:javascript
复制
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); 

例如:

代码语言:javascript
复制
boolQueryBuilder.must(QueryBuilders.matchQuery(field, value));

您可以添加任意数量的查询(任何类型- multiMatch、term等)如你所愿。Try还要尝试应该()或mustNot()方法--这取决于你想要什么。

下面是一个更复杂的示例:http://massapi.com/class/bo/BoolQueryBuilder.html

编辑:谢谢你的评论,现在我想我明白了。类似于下面的内容?

代码语言:javascript
复制
QueryBuilders.matchQuery(field, value).operator(MatchQueryBuilder.Operator.OR);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26174607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档