在我的Spring-Data-Elasticsearch应用程序中,我试图使用SearchQuery来搜索Elasticsearch,根据一些给定的QueryBuilder和FilterBuilder。
然而,Elasticsearch docs talk about SearchResponse,对我来说,似乎与SearchQuery做同样的工作。
我不明白SearchQuery和SearchResponse之间的区别。 有人可以指出区别吗?
答案 0 :(得分:1)
如果将查询对象传递给elasticsearch客户端并执行查询,则会收到回复。 响应类型取决于查询类型。
a: [0, 1, 2]
b: [3, 4, 5]
依旧......
在链接的代码段中,使用prepareSearch方法构建SearchQuery对象。然后由客户执行。
executed SearchQuery object -> SearchResponse object
executed IndexQuery object -> IndexResponse object
答案 1 :(得分:1)
搜索查询是您发送给Elastic的查询,搜索响应是Elasticsearch对该查询的响应。
例如,这可能是您的查询:
POST /your_index/_search
{
"query": {
"term": {
"available": {
"value": true
}
}
}
来自ES的可能的查询响应:
{
"took": 99,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 58188,
"max_score": 0.99998283,
"hits": [
...
]
}
}