动态更改Elasticsearch同义词

发布于 2021-02-01 12:00:38

是否可以在索引中存储elasticsearch的同义词?还是可以从像ouchdb这样的数据库中获取同义词列表?我想通过REST-
API将同义词动态添加到elasticsearch。

关注者
0
被浏览
185
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    使用同义词有两种方法:

    • 在编制索引时扩展它们,
    • 在查询时扩展它们。

    不建议在查询时扩展同义词,因为它会引起以下问题:

    • 评分,因为同义词具有不同的文档频率,
    • 多令牌同义词,因为查询解析器在空白处拆分。

    有关更多详细信息,请参见http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory(在Solr
    Wiki上,但也与ElasticSearch相关)。

    因此,推荐的方法是在索引编制时扩展同义词。在您的情况下,如果同义词列表是动态管理的,则意味着您应重新索引每个包含其同义词列表已更新的术语的文档,以便在更新前后分析的文档之间评分保持一致。我并不是说这是不可能的,但是这需要一些工作,并且可能会导致索引中出现频率很高的同义词的性能问题。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看