Я использую Монго-Коннектор с таргетингом на эластичный поиск. Это отлично подходит для поддержания в актуальном состоянии elasticsearch, но у меня проблема с одним из полей, потому что оно содержит '_'. Данные постоянно реплицируются / передаются из mongodb, если я запустил переименование / переиндексирование, новые документы снова начнут отображаться с подчеркиванием.
Kibana не поддерживает символы подчеркивания в начале поля. Как лучше всего справиться с этим?
Я подал проблема с elastic2-doc-manager для Монго-Коннектор для поддержки узлов приема, но это похоже на гораздо большую проблему с кибаной, все мои попытки исправить эту проблему с помощью полей сценария и переименования поля не увенчались успехом.
Это кажется огромной проблемой. Я вижу символы подчеркивания в данных повсюду, это кажется очень плохим решением со стороны команды кибаны.
Я нашел ссылку на эту проблему на github, но без решения.
Поля, начинающиеся с _, зарезервированы для использования в Elasticsearch. Kibana не поддерживает поля с _ в настоящее время, по крайней мере, пока. Запрос на это - https://github.com/elastic/kibana/issues/14856 все еще открыт.
До тех пор, если вы хотите использовать поле в визуализациях и т. д., Я считаю, что вам нужно его переименовать.
Хотя вы не можете легко переименовать поле без использования logstash или filebeat, а Mongo-Connector не поддерживает ни один из них, вы можете вместо этого использовать поле со сценарием, как показано ниже, для создания нового поля и копирования значения поля _. Таким образом, вы можете использовать новое поле для визуализации и т. д. Добавьте новое поле со сценарием, например. itemType с помощью приведенного ниже сценария и посмотрите, работает ли он.
doc['_itemType.keyword'].value
Пожалуйста, Примечание, хотя так можно использовать только поля ключевых слов, поля текстового типа работать не будут. Если ваше поле _itemType
имеет текстовый тип, измените сопоставление, включив в него подполе keyword
типа ключевого слова в _itemType, и попробуйте поле со сценарием.
Это сработало. Я несколько раз пробовал скриптовые поля, но не включал ключевое слово.
Мой вопрос в том, как мне переименовать это поле? Документы добавляются и обновляются в прямом эфире из mongo db.