Как получить все записи из эластичного поиска в рельсах - PullRequest
0 голосов
/ 19 апреля 2020

Существует верхний предел количества документов, которые вы можете получить из поиска elasti c (то есть 10000). мы можем использовать «прокрутку», чтобы получить все записи. Кто-нибудь знает, как встроить это в код?

Есть этот метод прокрутки

https://github.com/elastic/elasticsearch-ruby/blob/4608fd144277941003de71a0cdc24bd39f17a012/elasticsearch-api/lib/elasticsearch/api/actions/scroll.rb

Но я не знаю, как используй это. Не могли бы вы объяснить, как его использовать?

Я пробовал "сканирование". Но он больше не поддерживается в Elasticsearch.

# Open the "view" of the index
response = client.search index: 'test', search_type: 'scan', scroll: '5m', size: 10

# Call `scroll` until results are empty
while response = client.scroll(scroll_id: response['_scroll_id'], scroll: '5m') and not 
   response['hits']['hits'].empty? do
      puts response['hits']['hits'].map { |r| r['_source']['title'] }
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...