删除同义词集编辑

删除同义词集。

请求编辑

DELETE _synonyms/<synonyms_set>

先决条件编辑

  • 需要 manage_search_synonyms 集群权限。
  • 您只能删除未被任何索引分析器使用的同义词集。有关更多信息,请参阅删除同义词集分析器要求

路径参数编辑

<synonyms_set>
(必填,字符串)要删除的同义词集标识符。

响应代码编辑

400
未提供 synonyms_set 标识符,或者无法删除同义词集,因为它不符合指定的要求
404 (缺少资源)
找不到标识符为 synonyms_set 的同义词集。

示例编辑

以下示例删除名为 my-synonyms-set 的同义词集

DELETE _synonyms/my-synonyms-set

删除同义词集分析器要求编辑

同义词集可用于同义词图标记过滤器同义词标记过滤器。这些同义词过滤器可以用作搜索分析器的一部分。

在恢复索引时(例如,在节点启动或索引打开时),需要加载分析器。即使分析器未用于任何字段映射,也需要在索引恢复阶段加载它。

如果无法加载任何分析器,则索引将不可用,并且集群状态将变为红色或黄色,因为索引分片不可用。

为了防止这种情况,不能删除分析器中使用的同义词集。在这种情况下,删除请求将返回 400 响应代码,并显示以下错误消息

{
  "error": {
    "root_cause": [
      {
        "type": "illegal_argument_exception",
        "reason": "synonyms set [my-synonyms-set] cannot be deleted as it is used in the following indices: index-1, index-2",
        "stack_trace": ...
      }
    ],
    "type": "illegal_argument_exception",
    "reason": "synonyms set [my-synonyms-set] cannot be deleted as it is used in the following indices: index-1, index-2",
    "stack_trace": ...
  },
  "status": 400
}

要删除同义词集,您必须首先删除包含使用它的分析器的所有索引。您可以通过创建一个不包含带有同义词集的标记过滤器的索引来迁移索引,并使用重新索引来复制索引数据。完成后,您可以删除该索引。

当分析器中未使用同义词集时,您将能够删除它。