Как мне обработать поля вasticsearch, которые содержат '_'? - PullRequest
0 голосов
/ 26 октября 2018

Я использую Mongo-Connector для таргетинга asticsearch .Это прекрасно работает для поддержания эластичного поиска в актуальном состоянии, но у меня есть проблема с одним из полей, потому что он содержит '_'.Данные непрерывно реплицируются / передаются из mongodb, если я запускаю переименование / переиндексацию, новые документы снова будут отображаться с подчеркиванием.

Kibana не поддерживает подчеркивания в начале поля.Какова лучшая практика для обработки этого?

Я подал выпуск с astic2-doc-manager для Mongo-Connector для поддержки узлов загрузки, но это выглядит какбольшая проблема с кибаной - все мои попытки исправить эту проблему с помощью скриптовых полей и переименования поля потерпели неудачу.

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

Ошибка Кибана: enter image description here

Я нашел некоторые ссылки на github по этой проблеме, но обходных путей нет.

1 Ответ

0 голосов
/ 26 октября 2018

Поля, начинающиеся с _, зарезервированы для использования в Elasticsearch.Kibana не поддерживает поля с _ в настоящее время, по крайней мере пока.Запрос на это - https://github.com/elastic/kibana/issues/14856 все еще открыт.

До тех пор, пока вы не захотите использовать поле в визуализациях и т. Д., Я считаю, что вам нужно переименовать его.

ХотяВы не можете легко переименовать поле без использования logstash или filebeat, и Mongo-Connector не поддерживает ни одно из них, вы можете вместо этого использовать поле со сценарием, как показано ниже, для создания нового поля и копирования значения поля _.Таким образом, вы можете использовать новое поле для визуализации и т. Д. Добавьте новое поле со сценарием для ex.itemType с приведенным ниже сценарием и посмотреть, работает ли он.

doc['_itemType.keyword'].value

Пожалуйста, примечание , хотя только такие ключевые слова могут использоваться, как это, поля текстового типа не будут работать.Если ваше поле _itemType имеет тип text, измените отображение так, чтобы оно включало подполе keyword типа ключевого слова в _itemType, и попробуйте поле со сценарием.

...