#ruby-on-rails #elasticsearch
#ruby-on-rails #elasticsearch
Вопрос:
Прежде чем текст в поле будет проиндексирован, я хочу запустить над ним код для его преобразования, в основном, что здесь происходитhttps://www.elastic.co/guide/en/elasticsearch/reference/master/gsub-processor.html (но эта функция еще не запущена).
Например, я хочу иметь возможность преобразовать все .
в поле в -
для индексированной версии.
Есть какие-нибудь советы? Делаем это в elasticsearch-rails.
Ответ №1:
Используйте char_filter, где вы заменяете все .
на -
, но это изменит символы индексированных терминов, не _source
само по себе. Что-то вроде этого:
"char_filter" : {
"my_mapping" : {
"type" : "mapping",
"mappings" : [
". => -"
]
}
}
или используйте Logstash с mutate и фильтром gsub для предварительной обработки данных перед отправкой в Elasticsearch. Или вы делаете это в своем собственном индексаторе (что бы это ни было).