Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Анализ текста ›Справочник по фильтрам токенов

Фильтр токенов Elision

Удаляет указанные элизии из начала токенов. Например, вы можете использовать этот фильтр для изменения l'avion на avion.

При отсутствии настройки фильтр по умолчанию удаляет следующие французские элизии:

l', m', t', qu', n', s', j', d', c', jusqu', quoiqu', lorsqu', puisqu'

Настраиваемые версии этого фильтра включены в несколько встроенных анализаторов языка Elasticsearch:

  • Анализатор каталанского языка
  • Анализатор французского языка
  • Анализатор ирландского языка
  • Анализатор итальянского языка

Этот фильтр использует ElisionFilter из Lucene.

Пример

Следующий запрос API анализа использует фильтр elision для удаления j' из j’examine près du wharf:

GET _analyze
{
  "tokenizer" : "standard",
  "filter" : ["elision"],
  "text" : "j’examine près du wharf"
}

Фильтр генерирует следующие токены:

[ examine, près, du, wharf ]

Добавление в анализатор

Следующий запрос API создания индекса использует фильтр elision для настройки нового настраиваемого анализатора.

PUT /elision_example
{
  "settings": {
    "analysis": {
      "analyzer": {
        "whitespace_elision": {
          "tokenizer": "whitespace",
          "filter": [ "elision" ]
        }
      }
    }
  }
}

Настраиваемые параметры

articles

(Обязательно*, массив строк) Список элизий для удаления.

Для удаления элизии должна находиться в начале токена и быть немедленно после неё апостроф. И элизия, и апостроф будут удалены.

Для настраиваемых фильтров elision, должен быть указан либо этот параметр, либо articles_path.

articles_path

(Обязательно*, строка) Путь к файлу, содержащему список элизий для удаления.

Этот путь должен быть абсолютным или относительным к местоположению config, и файл должен быть закодирован в UTF-8. Каждая элизия в файле должна быть разделена новой строкой.

Для удаления элизии она должна находиться в начале токена и быть немедленно после неё апостроф. И элизия, и апостроф будут удалены.

Для настраиваемых фильтров elision, должен быть указан либо этот параметр, либо articles.

articles_case
(Необязательно, булево) Если true, соответствие элизии нечувствительно к регистру. Если false, соответствие элизии чувствительно к регистру. По умолчанию false.

Настройка

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

Например, следующий запрос создаёт настраиваемый нечувствительный к регистру фильтр elision, который удаляет элизии l', m', t', qu', n', s' и j':

PUT /elision_case_insensitive_example
{
  "settings": {
    "analysis": {
      "analyzer": {
        "default": {
          "tokenizer": "whitespace",
          "filter": [ "elision_case_insensitive" ]
        }
      },
      "filter": {
        "elision_case_insensitive": {
          "type": "elision",
          "articles": [ "l", "m", "t", "qu", "n", "s", "j" ],
          "articles_case": true
        }
      }
    }
  }
}

© 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/7.17/analysis-elision-tokenfilter.html

Spec-Zone.ru

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