一尘不染

ElasticSearch从当前ID获取下一个和上一个文档ID

elasticsearch

从最近6小时开始搜寻,但没有任何解决方法。请帮我。Elasticsearch ID为:2、4、7、8、11、15、15、16,....

我的当前文档ID为11,然后如何获取下一个ID为15,上一个ID为8。

谢谢


阅读 656

收藏
2020-06-22

共1个答案

一尘不染

您可以运行两个查询,一个查询下一个ID,一个查询前一个ID。

下一个ID的查询是:

GET /<index>/_search
{
  "_source": [
    "id"
  ],
  "query": {
    "range": {
      "id": {
        "gt": 11
      }
    }
  },
  "sort": [
    {
      "id": {
        "order": "asc"
      }
    }
  ],
  "size": 1
}

而先前ID的查询为:

GET /<index>/_search
{
  "_source": [
    "id"
  ],
  "query": {
    "range": {
      "id": {
        "lt": 11
      }
    }
  },
  "sort": [
    {
      "id": {
        "order": "desc"
      }
    }
  ],
  "size": 1
}
2020-06-22