如何在Java中使用elasticsearch
我试图用Java构建一个POST请求体,如下所示:如何在Java中使用elasticsearch,java,
elasticsearch,Java,
elasticsearch,我试图用Java构建一个POST请求体,如下所示: { "query":{ "filtered":{ "filter":{ "and":[ {"terms":{"primaryType":["container"]}} , {"terms":{"LifeCycleState":["project"]}} ] }, "query":{"match_all":{}} } },
{
"query":{
"filtered":{
"filter":{
"and":[
{"terms":{"primaryType":["container"]}} , {"terms":{"LifeCycleState":["project"]}}
]
},
"query":{"match_all":{}}
}
},
"aggs": {
"status":{ "terms": {"field":"container:status"} }
}
}
到目前为止,我得到的是:
final FilterBuilder primaryTypeFilter = FilterBuilders.termsFilter("primaryType", "container");
final FilterBuilder lifeCycleStateFilter = FilterBuilders.termsFilter("LifeCycleState" , "project");
这给我带来了:
"terms":{"primaryType":["container"]}
"terms":{"LifeCycleState":["project"]}
我不知道如何从这里开始,如何用“and”、“filtered”、“query”等等来包装术语
谢谢。您正在使用旧版本的elasticsearch。我建议升级 从5.0开始,您必须使用带有
过滤器部分的bool
查询
比如:
QueryBuilder qb = boolQuery()
.filter(termQuery("primaryType", "container")
.filter(termQuery("LifeCycleState" , "project"));
您正在使用旧版本的elasticsearch。我建议升级
从5.0开始,您必须使用带有过滤器部分的bool
查询
比如:
QueryBuilder qb = boolQuery()
.filter(termQuery("primaryType", "container")
.filter(termQuery("LifeCycleState" , "project"));