ElasticSearch Добавление поля в JSON перед индексацией

1

[Это мой первый пост, пожалуйста, извините меня, если я что-то делаю неправильно! (также извините за мой плохой английский)]

Я пытаюсь разработать Mapper/Plugin для elasticsearch (в Java), которые анализируют некоторые определенные поля JSON и добавляют другое поле с результатом анализа перед сохранением и индексированием данных.

EG: Я начинаю с этого популярного JSON:

{
    "tweet" {
        "user" : "kimchy",
        "message" : "This is a tweet!",
        "postDate" : "2009-11-15T14:12:12",
        "priority" : 4,
        "rank" : 12.3
    }
}

И, прежде чем индексировать, я хочу:

{
    "tweet" {
        "user" : "kimchy",
        "message" : "This is a tweet!",
        "postDate" : "2009-11-15T14:12:12",
        "priority" : 4,
        "rank" : 12.3
        "IsKimchy" : "Yes"
    }
}

Здесь я предполагаю прочитать поле "пользователь", и если пользователь является Kimchy, я создаю другое поле, содержащее "Да". как я могу анализировать поле (используя java), подобное этому перед индексированием?

Как я знаю, я могу копировать содержимое поля в другом, используя Copy_to, поэтому я могу работать только на поле, может быть, это может помочь?

  • 0
    elasticsearch.org/guide/en/elasticsearch/reference/current/...
  • 0
    Большое спасибо Костантинтину В. Салихову за подсказку, это полезно, но я хочу сделать анализ в java перед индексацией данных! У меня была Java-библиотека (сделанная много лет назад), и я хочу просто реализовать этот функционализм при анализе полей elaticsearch. Благодаря вам я могу продублировать и подготовить другое поле!
Теги:
elasticsearch

1 ответ

0

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

лучшее решение для меня (в терминах скорости и интеграции) было Custom mapper!

Я использовал этот демонстрационный код https://github.com/dadoonet/elasticsearch-mapper-demo для реализации моего класса сопоставления, который анализирует Json Faster, чем скрипты, и добавляет настраиваемое поле в запись!

Ура!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню