Использование сканирования и прокрутки для упругого поиска по смыслу

Я пытаюсь перебрать несколько документов в asticSearch и использую Sense (для этого используется плагин Google Chrome). Используя эффективность сканирования и прокрутки, я получаю идентификатор прокрутки как:

POST _search?scroll=10m&search_type=scan
{
  "query": { "match_all": {}}
}

Результатом чего является:

{
   "_scroll_id": "c2Nhbjs1OzE4ODY6N[...]c5NTU0NTs=",
   "took": 10,
   "timed_out": false,
   "_shards": {
     "total": 5,
     "successful": 5,
     "failed": 0
  },
  "hits": {
     "total": 20000,
     "max_score": 0,
     "hits": []
  }
}

Затем передайте это в GET как:

GET _search/scroll?scroll=1m&scroll_id="c2Nhbjs1OzE4ODY6N[...]c5NTU0NTs="

но я получаю 0 результатов, а именно:

{
  "_index": "my_index",
  "_type": "_search",
  "_id": "scroll",
  "found": false
}

2 ответа

Я нашел проблему, я указал индекс my_index в коробке сервера по смыслу. Удаление этого и повторное выполнение команды post как:

POST /my_index/_search?scroll=10m&search_type=scan
{
    "query": { "match_all": {}}
}

и передать полученный scroll_id как:

GET _search/scroll?scroll=1m&scroll_id="c2Nhbjs1OzE4ODY6N[...]c5NTU0NTs="

работал!

Это работает в моем смысле (конечно, вы должны заменить идентификатор из вашего дела; не используйте ")

POST /test/_search?search_type=scan&scroll=1m
GET /_search/scroll?scroll=1m&scroll_id=c2Nhbjs1OzI[...]Tt0b3RhbF9oaXRzOjQ7
Другие вопросы по тегам