Long-running searches 与 Elasticsearch 异步搜索
1.什么是 Long-running searches?
Elasticsearch 通常能够快速处理大规模数据的搜索请求。然而,在某些情况下,搜索可能需要在多个分片上执行,或者涉及大量数据集甚至多个远程集群。这种情况下,搜索结果无法在短时间内返回(例如几毫秒内)。对于这种长时间运行的搜索(Long-running searches),同步等待结果返回是不理想的。
2.异步搜索的优势
为了应对长时间运行的搜索,Elasticsearch 提供了异步搜索功能。通过异步搜索,用户可以提交一个搜索请求,该请求将在后台异步执行。用户可以在稍后的时间点监控搜索进度,并按需检索最终结果或部分结果。
3.异步搜索的主要功能
• 提交异步搜索
异步搜索 API 接受与普通搜索 API 相同的参数和请求体,但执行方式为异步。提交后,API 会返回一个唯一的标识符(ID),用户可以使用该 ID 来监控进度、获取结果或删除搜索。
示例请求:
```http
POST /sales*/_async_search?size=0
{
"sort": [
{ "date": { "order": "asc" } }
],
"aggs": {
"sale_date": {
"date_histogram": {
"field": "date",
Elasticsearch异步搜索应对长时间运行搜索

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



