Больший размер индекса после переиндексации Elasticsearch - PullRequest
0 голосов
/ 07 февраля 2019

После выполнения переиндексации для индекса размером 75 ГБ новый индекс занял 79 ГБ.

Оба индекса имеют одинаковое количество документов (54 123 676), и оба имеют одинаковое отображение.В исходном указателе есть 6 * 2 осколков, а в новом - 3 * 2.

В исходном указателе также содержится 75 857 удаленных документов, которые не были перемещены, поэтому мы довольно озадачены тем, как это могло бы бытьменьше, чем новый вообще, не говоря уже о целых 4 ГБ.

Оригинальный индекс

{
    "_shards": {
        "total": 12,
        "successful": 12,
        "failed": 0
    },
    "_all": {
        "primaries": {
            "docs": {
                "count": 54123676,
                "deleted": 75857
            },
            "store": {
                "size_in_bytes": 75357819717,
                "throttle_time_in_millis": 0
            },
            ...
            "segments": {
                "count": 6,
                "memory_in_bytes": 173650124,
                "terms_memory_in_bytes": 152493380,
                "stored_fields_memory_in_bytes": 17914688,
                "term_vectors_memory_in_bytes": 0,
                "norms_memory_in_bytes": 79424,
                "points_memory_in_bytes": 2728328,
                "doc_values_memory_in_bytes": 434304,
                "index_writer_memory_in_bytes": 0,
                "version_map_memory_in_bytes": 0,
                "fixed_bit_set_memory_in_bytes": 0,
                "max_unsafe_auto_id_timestamp": -1,
                "file_sizes": {}
            }
            ...

Новый индекс

{
    "_shards": {
        "total": 6,
        "successful": 6,
        "failed": 0
    },
    "_all": {
        "primaries": {
            "docs": {
                "count": 54123676,
                "deleted": 0
            },
            "store": {
                "size_in_bytes": 79484557149,
                "throttle_time_in_millis": 0
            },
            ...
            "segments": {
                "count": 3,
                "memory_in_bytes": 166728713,
                "terms_memory_in_bytes": 145815659,
                "stored_fields_memory_in_bytes": 17870464,
                "term_vectors_memory_in_bytes": 0,
                "norms_memory_in_bytes": 37696,
                "points_memory_in_bytes": 2683802,
                "doc_values_memory_in_bytes": 321092,
                "index_writer_memory_in_bytes": 0,
                "version_map_memory_in_bytes": 0,
                "fixed_bit_set_memory_in_bytes": 0,
                "max_unsafe_auto_id_timestamp": -1,
                "file_sizes": {}
            }
            ...

Есть какие-нибудь подсказки?

1 Ответ

0 голосов
/ 08 февраля 2019

Вы должны использовать функцию слияния сегментов.Поскольку сегменты неизменны, ES всегда создает новые и постепенно сливается.Но этот запрос поможет вам решить вашу проблему. Он объединяет все сегменты и экономит память.Но когда вы отправляете этот запрос, остерегайтесь того, что этот запрос немного тяжел.Поэтому выберите непиковые часы для выполнения.

POST /_forcemerge?only_expunge_deletes=true

...