背景:一直以来,我一直认为,如果同义词文件发生任何更改,则需要重新索引整个索引。当然,如果索引大小很小,这个过程不会那么慢,但是这个过程本身很乏味,并且会有停机时间。
所以问题:
在这种情况下我的理解是错误的吗?是否意味着有更简单的方法来反映我的索引的同义词更改?无需重新索引。
未来的需求是,无需手动更新文件中的规则,也许可以从数据库甚至 UI 进行更改。这可以做到吗?如果这是可能的,可以启发或建议我如何做到这一点吗?
我相信这与查询或索引时间同义词扩展有关,之前在这里出现过类似的问题:问题,但这是否仍然适用于当前的 ES 版本 5、6 甚至 7?由于权威指南早在第 2 版就已经发布了,所以我有点担心它已经过时了。
如果使用查询时同义词,如果我对同义词文件进行了任何更改,是否需要重新启动节点才能生效?
谢谢。
您可以关闭索引、更新同义词列表并打开索引。\n更新同义词列表不会更改任何已编入索引的文档。它将仅适用于搜索以及新的或更新的文档。要将更改应用到现有文档,您需要重新索引数据。\n以下链接可能会有所帮助:
\n\nhttps://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html \n https://sharing.luminis.eu/blog/updatable-synonyms-in-elasticsearch-bol -com/
\n\n可以在查询时和索引时应用同义词,在性能和灵活性之间进行权衡。\n您可以在此处阅读这两种方法的优缺点:https: //www.elastic.co/guide/en/elasticsearch/ Guide/1.x/synonyms-expand-or-contract.html#synonyms-expansion。
\n在映射中使用 \xc2\xa0search_analyzer\xc2\xa0 而不是 \xc2\xa0analyzer\xc2\xa0 将使同义词分析器仅在搜索时使用。
回答你的问题:(评论中提到)。
\n对“更新同义词列表不会更改任何已编入索引的文档”有什么影响?
\n - 查询时间方法将选择同义词,索引时间不会\xe2\x80\x99t。
\n这是否意味着新同义词不会影响所有现有文档?
\n - 是的,它不会\xe2\x80\x99t影响文档,但会根据配置的同义词影响搜索结果。
\n例如,我现有的文档中有McD,然后我添加了一个新的同义词McD,McDonald,这是否意味着如果不重新索引,这个同义词将不起作用?
\n - 我相信以上两个 QA 回答了这个问题。
欲了解更多信息,请参阅这篇文章:http://bitsandbites.me/blog/2014/04/08/elasticsearch-synonyms/
\n| 归档时间: |
|
| 查看次数: |
1823 次 |
| 最近记录: |