Файл стоп-слов/синонимов/и т. д. для ElasticSearch

Раньше я работал с Solr, и у него была папка конфигурации, содержащая стоп-слова, синонимы и т. д. файлы. Каждый раз, когда вы будете вносить изменения, вы можете использовать Zookeeper для загрузки файла конфигурации, а затем загрузить его и распределить по всем серверам в кластере.

Новичок в ElasticSearch, так что извините за вопрос: есть ли способ автоматически создавать такие файлы и использовать Zookeeper или что-то еще для их автоматического распространения вместо ручного шага (или сценариев Puppet)

Согласно этому: http://www.elastic.co/guide/en/elasticsearch/guide/master/using-synonyms.html должны присутствовать, но не указано, как именно.

Кроме того, я нашел это: https://github.com/lindstromhenrik/elasticsearch-analysis-file-watcher-synonym не уверен, что он работает. Дата на нем не кажется слишком многообещающей.


person krinker    schedule 08.05.2015    source источник


Ответы (2)


Однако способ распространения файла выходит за рамки моих возможностей ответить на ваш вопрос:

Внешний файл для «Синонимов», например «Стоп-слова», читается в двух случаях:

  • при создании анализатора
  • когда вы перезапустите свой узел

В руководстве есть раздел о том, как обновлять список стоп-слов. Это касается и синонимов.

На моей практике мне было проще указать синонимы непосредственно в полезной нагрузке JSON. Защищает меня от «слишком многого» о фактической инфраструктуре в отношении серверов, расположения файлов и т. д.

person mark    schedule 16.05.2015

Итак... кажется, что вам придется использовать такие вещи, как Puppet или Chef. Странно, что ES сделал это таким сложным.

Файлы синонимов должны точно реплицироваться между хостами. Если это не будет тщательно контролироваться, могут произойти плохие вещи. В Found это делается автоматически, когда вы загружаете пользовательский пакет с файлом синонимов в нем. Если вы управляете своими собственными серверами, обязательно используйте инструмент управления конфигурацией, такой как Ansible, Chef или Puppet, для синхронизации этих файлов между хостами, иначе вы можете обнаружить, что синонимы интерпретируются по-разному в зависимости от того, какой хост обрабатывает какие запросы.

https://www.found.no/foundation/text-analysis-part- 2/

person krinker    schedule 22.05.2015