Почему иногда прокрутка или поиск Elasticsearch возвращает набор идентификаторов документов, которые не могут быть получены по отдельности?

Я вижу странную проблему, когда прокрутка Elasticsearch или API поиска возвращает набор документов, которые я больше не могу получить по идентификаторам. Я использую Elassandra (Cassandra + ES), которая использует Elasticsearch в качестве вторичного хранилища индекса. На записях Cassandra есть TTL, которые сбрасываются из-за TTL, но идентификаторы все еще есть в Elasticsearch. Почему это странное поведение? Я обновил и принудительно установил соответствующий индекс на Elasticsearch, но это не помогло.

1 ответ

Хорошо. Я нашел проблему. Поле TTL на Cassandra удаляет запись на Cassandra, но пользовательский вторичный индекс Elassandra, построенный на Elasticsearch, не удаляется этим механизмом. На самом деле TTL больше не существует на более высокой версии ES. Документы должны быть явно удалены из ES, или у нас должен быть разделенный по времени индекс на ES, чтобы старые индексы можно было просто удалить.

Другие вопросы по тегам