我已经阅读了 搜索API 的文档,但觉得它们描述不够详细(尽管写得非常好)。我正在尝试构建一个查询,但对所有可用选项的理解很少,并且找不到相关信息,当我构建一个查询时,我无法将在Sense中运行的查询转换为可以使用Java API 运行的查询。
在 Sense 中,我有以下内容:
GET index/_search
{
"query": {
"match" : {
"name" : "some string"
}
}
}
并且在我的Java代码中我有:
node = nodeBuilder().client(true).clusterName(CLUSTER_NAME).node();
client = node.client();
QueryBuilder qb = QueryBuilders.termQuery("name", "some string");
SearchResponse response = client.prepareSearch("index") //
.setQuery(qb) // Query
.execute().actionGet();
但它们产生不同的搜索结果。我看不出它们的区别在哪里?同时是否有一个好的信息来源可能会有用?
{"query": {"bool": {"must": [{"range": {"sessionTime": {"gte": 1000, "lt": 5000}}}, {"match_phrase": {"os": "Windows"}}], "must_not": [], "should": []}}
。 - Paul Steven