我对 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)