2
我想在elasticsearch的java querybuilder中實現這個elasticsearch查詢。但我無法獲得同樣的結果。有人能幫忙嗎。Java QueryBuilders的嵌套elasticsearch查詢。
GET /XX/XX/_search
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "XX",
"filter": {
"term": {
"A": "7:140453136:T"
}
}
}
},
{
"nested": {
"path": "XX",
"filter": {
"term": {
"B": "RF"
}
}
}
},
{
"nested": {
"path": "XX",
"filter": {
"term": {
"C": "RFFF"
}
}
}
}
]
}
}
}
我試圖代碼:
QueryBuilders qbWithArguments = QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("A", "RF"))
.must(QueryBuilders.termQuery("B", "EF"))
.must(QueryBuilders.termQuery("C", "RF"));
nestedQuery()犯規接受FilterBuilders作爲第二個參數。它期望QueryBuilder。 –
QueryBuilders類中有一個接受filterbuilder作爲第二個參數的重載方法。公共靜態NestedQueryBuilder nestedQuery(字符串路徑,FilterBuilder篩選器){ 返回新的NestedQueryBuilder(路徑,過濾器); }。請參閱http://rajish.github.io/api/elasticsearch/0.20.0.Beta1-SNAPSHOT/org/elasticsearch/index/query/QueryBuilders.html – Richa
感謝您的參考。但我使用ES 2.1.1這是最新的,我沒有看到在最新的API文檔重載的方法。 –