Эффективное увеличение производительности Elasticsearch - PullRequest
0 голосов
/ 10 января 2019

У меня проблема с максимальным размером для одного поля / термина.

Я установил для своих полей значение "not_analyzed". Как вы знаете, это означает: «Индексируйте это поле, чтобы оно было доступно для поиска, но индексируйте значение точно так, как указано. Не анализируйте его». и максимальный размер отдельного члена в базовом индексе Lucene составляет 32766 байт ..

Когда я пытаюсь отправить более 32766 байт моему методуasticsearch, это ограничение срабатывает и не принимает (например) строку 40000 символов. После моих исследований, я думаю, у меня есть 2 варианта;

1-) Продолжайте использовать поле с «not_analyzed», но используйте настройку ignore_above, как показано ниже. При этом теперь он будет принимать более 32766 байт, но это не сделает это поле доступным для поиска (если оно не должно быть доступно для поиска.).

PUT /my_index
        {
          "mappings": {
            "my_type": {
              "properties": {
                "status_code": {
                  "type": "string",
                  "index": "not_analyzed",
                  "ignore_above": 32766
                }
              }
            }
          }
        }

2-) Помечает индекс как вариант «нет», как показано ниже. Он примет более 32766 байт, но не сделает поле доступным для поиска или запроса.

PUT /my_index
{
  "mappings": {
    "my_type": {
      "properties": {
        "status_code": {
          "type": "string",
          "index": "no"
        }
      }
    }
  }
}

Мои вопросы,

- Могут ли эти параметры повлиять на процессор или память на мой кластер?

-У вас есть какие-либо другие предложения для этой области?

Спасибо за ваши ответы.

ОБНОВЛЕНИЕ: я использую 1.5.2, то есть я не могу использовать ignore_above.

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