我正在使用Java API来实现以下输入,但是JAVA API / Elastic 1.4中不推荐使用FilterBuilders.filtered
filtered: {
filters: {
term: {
"id": 5
}
},
filters{
{
term: {
"city": "newyork"
}
}
}
我的目标是我想在MySQL中达到类似于WHERE的条件
WHERE id=1 and city="newyork"
在输出中,我想要点击列表,而不想要单独的存储桶。我是Elasticsearch和API的新手。
我如何实现已过滤(已弃用)之前执行的操作?
最佳答案
为时已晚,但可能可以帮助其他人。filtered
查询已替换为Elasticsearch 2.0版中的bool
查询。参见Elasticsearch reference
在Java中,您可能会遇到以下情况:
FilterBuilders.boolFilter()
.must(FilterBuilders.queryFilter(QueryBuilders.matchAllQuery()))
.filter(FilterBuilders.boolFilter()
.must(FilterBuilders.termFilter("id", 5))
.must(FilterBuilders.termFilter("city", "newyourk"))
);