Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›API синонимов

Удаление набора синонимов

Новая справка по API

Для получения самых актуальных данных об API обратитесь к API синонимов.

Удаляет набор синонимов.

Запрос

DELETE _synonyms/<synonyms_set>

Предварительные условия

  • Требуется привилегия кластера manage_search_synonyms.
  • Вы можете удалить только набор синонимов, который не используется ни в одном анализаторе индекса. Дополнительная информация приведена в разделе Требования к анализатору при удалении набора синонимов.

Параметры пути

<synonyms_set>
(Обязательно, строка) Идентификатор набора синонимов для удаления.

Коды ответов

400
Идентификатор synonyms_set не был предоставлен или набор синонимов не может быть удалён, так как он не соответствует указанным требованиям.
404 (Отсутствующие ресурсы)
Набор синонимов с идентификатором synonyms_set не найден.

Примеры

В следующем примере удаляется набор синонимов под названием my-synonyms-set:

resp = client.synonyms.delete_synonym(
    id="my-synonyms-set",
)
print(resp)
response = client.synonyms.delete_synonym(
  id: 'my-synonyms-set'
)
puts response
const response = await client.synonyms.deleteSynonym({
  id: "my-synonyms-set",
});
console.log(response);
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
}

Чтобы удалить набор синонимов, необходимо сначала удалить все индексы, содержащие анализаторы, использующие его. Вы можете мигрировать индекс, создав новый индекс, не содержащий фильтр токенов с набором синонимов, и использовать переиндексацию для копирования данных индекса. После завершения вы можете удалить индекс.

Если набор синонимов не используется в анализаторах, вы сможете его удалить.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/delete-synonyms-set.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API