Есть ли причина, по которой при поиске по индексу elasti c после его переиндексации происходит противоречивое поведение? - PullRequest
0 голосов
/ 21 февраля 2020

Я использую elasticsearch python API, и при выполнении поиска по индексу, который был недавно переиндексирован, я вижу поведение, когда иногда получаю результаты, а иногда нет. Единственный способ воспроизвести это поведение - снова и снова запускать код до тех пор, пока не произойдет сбой, и будет наблюдаться один и тот же результат.

es.reindex({"source": {"index": "initial-index"},
            "dest": {"index": "dest-index"}
            }, 
    wait_for_completion=True, refresh=True)

dest_index_results = es.search(index="dest-index", size=100)
hits = get_hits(dest_index_results['hits']['hits'])

dest_index_results и hits окажутся пустыми. Любая помощь понимания, почему будет высоко ценится.

1 Ответ

0 голосов
/ 22 февраля 2020

есть конфигурация в настройке индекса под названием refresh_interval. на основе времени, установленного в этой конфигурации, документы будут доступны для поиска. например, если время установлено на 1 минуту, документы будут готовы к поиску через одну минуту после индексации.

Вы можете изменить этот параметр с помощью следующей команды:

PUT /twitter/_settings
{
    "index" : {
        "refresh_interval" : "10s"
    }
}
...