Как улучшить эффективность _reindex в ElasticSearch - PullRequest
0 голосов
/ 31 октября 2019

У меня есть, как мне кажется, большой набор документов в экземпляре ElasticSearch, если быть точным, 1321587763. Мне не удалось настроить правильное индексирование перед созданием набора, поэтому я переиндексирую их в новый набор data_ с индексом, установленным как

PUT /data_
{
  "settings": {
    "index": {
      "number_of_shards": "2",
      "number_of_replicas": "1",
      "analysis": {
        "analyzer": {
          "lsh": {
            "type": "custom",
            "tokenizer": "whitespace"
          }
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "arrayinstance": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      },
      "bearing": {
        "type": "long"
      },
      "hashstring": {
        "type": "text",
        "analyzer": "lsh"
      },
      "sample": {
        "type": "float"
      },
      "sampleindex": {
        "type": "long"
      }
    }
  }
}

В соответствии с рекомендациями, я установил параметры как

PUT /portland_/_settings
{
    "index" : {
        "refresh_interval" : -1,
        "number_of_replicas" : 0
    }
}

Затем я переиндексировал свои исходные данные в data_ как

POST _reindex?wait_for_completion=false&slices=4
{
  "source": {
    "index" : "sourcedata_",
    "size": 1000
  },
  "dest": {
    "index" : "data_",
    "version_type": "external",
    "op_type": "create"
  },
  "conflicts": "proceed"
}

Первоначально он шел довольно быстро, отбрасывая 20-50 МБ данных в секунду на data_, но он постепенно снижался до 500 КБ или менеев секунду. Я ограничен аппаратным обеспечением MacBook 16G с 10G, выделенным для ES, и экземпляр ES распределен по двум внешним дискам USB3.0, но монитор активности OS X не показывает, что ноутбук работает под нагрузкой при максимальной загрузке процессора 400% из 800% возможного (4-ядерная гиперпотоковость) и без чрезмерного давления на использование ОЗУ.

Что я делаю не так?

Помогите советам критике, все одинаково приветствуются

Ник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...