我曾经使用过Solr,它的配置文件夹包含停用词,同义词等文件。每次进行更改时,都可以使用Zookeeper下载conf文件,然后上传并将其分发到群集中的所有服务器上。
ElasticSearch新手,请原谅这样一个问题:我有没有办法自动创建这样的文件并让Zookeeper或其他东西自动分发而不是手动步骤(或Puppet脚本)
根据这个:http://www.elastic.co/guide/en/elasticsearch/guide/master/using-synonyms.html文件必须存在,但没有提到如何。
另外,我发现:https://github.com/lindstromhenrik/elasticsearch-analysis-file-watcher-synonym不确定它是否正常工作。它的日期似乎不太有希望。
答案 0 :(得分:0)
如何分发文件超出了我回答问题的能力范围,但是:
在两种情况下会读取“同义词”的外部文件,例如“StopWords”:
该指南有一节介绍如何update the stopwords列出。这同样适用于同义词。
在我的实践中,我发现直接在JSON有效负载中提供同义词更容易。保护我免于“了解太多”有关服务器,文件位置等的实际基础设施。
答案 1 :(得分:0)
所以......似乎你必须使用Puppet或Chef这样的东西。很奇怪,ES会让它变得如此复杂。
必须在主机之间准确复制同义词文件。如果不是这样的话 精心管理的坏事可能发生。在Found,这已经完成了 当您上传带有同义词文件的自定义捆绑包时自动 它。如果您管理自己的服务器,请务必使用配置 像Ansible,Chef或Puppet这样的管理工具可以同步这些工具 主机之间的文件,否则您可能会发现同义词 根据哪个主机正在处理哪个而进行不同的解释 请求。