同义词 API
同义词管理 API 提供了一种便捷的方式来在内部系统索引中定义和管理同义词。相关的同义词可以分组到一个「同义词集」(synonyms set)中。你可以根据需要创建任意数量的同义词集。
这为以下方式提供了替代方案:
- 在分析器定义中定义内联同义词 — 这会影响映射大小,并可能导致性能问题。
- 使用同义词文件 — 这意味着需要在所有集群节点上上传并管理文件的一致性。
同义词集可用于配置同义词图词元过滤器和同义词词元过滤器。这些过滤器在分析过程中由搜索分析器应用。
新版 API 参考
有关最新的 API 详情,请参阅同义词 API。
限制和重要注意事项
重要
- 限制:每个同义词集最多只能包含 10,000 条同义词规则。如果需要更多,请创建多个同义词集。
- 预先存在要求:同义词集必须先存在,然后才能被添加到索引。如果创建的索引引用了不存在的同义词集,该索引将保持部分创建且不可操作的状态。唯一的恢复方法是确保该同义词集存在,然后删除并重新创建索引,或者关闭并重新打开索引。
- 无效规则:无效的同义词规则在应用分析器更改时可能会导致错误。对于可重新加载的分析器,这会阻止重新加载/应用更改 — 你必须修正同义词规则的错误并重新加载分析器。
- 重新打开失败:包含无效同义词规则的索引无法重新打开,从而在以下情况下变得不可操作:
- 包含该索引的节点启动时;
- 索引从关闭状态被打开时;
- 发生节点重启时(这会重新打开分配给该节点的分片)。
同义词集 API
用于动态更新搜索时使用的同义词集 — 搜索结果会立即反映同义词集的更改:
同义词规则 API
同义词集由同义词规则组成。每条同义词规则定义一组充当同义词的词。你可以更新特定同义词集的单条同义词规则,而无需更新整个集: