2016-12-17 15 views
0

В последние два дня, я ищу в гугле и искать информацию в www.elastic.co, но я до сих пор чувствую себя puzzled.Here моя реальная ситуация:Как изменить тип полей на elasticsearch без остановки моих сервисов?

Я изучаю и настроить службы Elk наконец month.I импортируйте мои журналы в elasticsearch через logstash.

Но у меня проблема, когда я делаю визуализации диаграммы, мне нужно подвести поле, чтобы сделать это, но я получил сообщение об ошибке:

this field type is string,need number to sum! 

Ряд требуется вычислить сумму, это имеет смысл, так Я пытаюсь изменить тип поля из строки в число (длинный).

И я цветовое что, вот мое решение:

  1. поста шаблон для elasticsearch и создать новый индекс
  2. набора выхода logstash на новый индекс и перезапустить его
  3. переиндексации старого индекса к новому
  4. удаление старого индекс

Вот мой вопрос:

Могу ли я пропустить второй шаг?

Я не хочу перезапускать logstash, потому что он принимает данные в реальном времени, и я не хочу, чтобы он пропускал некоторые данные.

Если я не перезагружаю logstash, я не могу изменить вывод на новый индекс.

Это меня смущает.

ответ

2

Как только тип поля установлен, его нельзя изменить.

Согласно official guide:

Although you can add to an existing mapping, you can’t change existing field mappings. If a mapping already exists for a field, data from that field has probably been indexed. If you were to change the field mapping, the indexed data would be wrong and would not be properly searchable.

Таким образом, ваш единственный вариант переиндексации весь индекс. Хорошей новостью является то, что это можно сделать с нулевым временем простоя. Процесс объясняется here. Это делается с использованием псевдонимов, изменение индекса, но оба указывают на один и тот же псевдоним, включая Logstash, я думаю, в этом случае вам не нужно будет перезапускать его.

В любом случае, если возможно, было бы лучше заранее установить свои сопоставления с правильными типами для каждого поля. Если вы не знаете их заранее, возможно, может быть сделан более точный шаблон. Даже с нулевым временем простоя, переиндексирование всего индекса может быть медленным в зависимости от размера индекса.

Смежные вопросы