我有一个关于Elasticsearch的最新版本的问题。
在以前的版本之前,我一直使用以下Java API搜索:
SearchRequestBuilder request = client.prepareSearch(index).setSource(jsonQuery)
现在,setSource
已被弃用,建议改用setQuery(QueryBuilder)
。
是否可以像以前一样传递整个json查询?
这是我使用的查询语法,如果可能的话,我希望保留它:
"{"
+ "\"query\": {"
+ " \"bool\": {"
+ " \"filter\": { ... }"
+ " }"
+ " },"
+ " \"fields\": ["
+ " \"xxx\","
+ " ],"
+ " \"size\": 1000"
+ "}";
我不希望使用以下内容拆分几何体、字段和大小:
setQuery(QueryBuilders.wrapperQuery(jsonQuery)).setSize(size).storedFields(fields)
1条答案
按热度按时间vddsk6oq1#
是的,您可以使用
QueryBuilders.wrapperQuery()
,它将创建一个WrapperQueryBuilder
的示例来实现此目的: