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

Анализатор Fingerprint

Анализатор fingerprint реализует алгоритм отпечатков пальцев, который используется проектом OpenRefine для помощи в кластеризации.

Текст на входе приводится к нижнему регистру, нормализуется для удаления расширенных символов, сортируется, дубликаты удаляются и все это конкатенируется в один токен. Если настроен список стоп-слов, эти слова также будут удалены.

Пример вывода

POST _analyze
{
  "analyzer": "fingerprint",
  "text": "Yes yes, Gödel said this sentence is consistent and."
}

Предложенное предложение будет преобразовано в следующий единственный термин:

[ and consistent godel is said sentence this yes ]

Настройка

Анализатор fingerprint принимает следующие параметры:

separator

Символ, используемый для конкатенации терминов. По умолчанию – пробел.

max_output_size

Максимальный размер токена для вывода. По умолчанию – 255. Токены, превышающие этот размер, будут отброшены.

stopwords

Предварительно определенный список стоп-слов, например, _english_, или массив, содержащий список стоп-слов. По умолчанию – _none_.

stopwords_path

Путь к файлу, содержащему стоп-слова.

Для получения дополнительной информации о настройке стоп-слов см. Фильтр стоп-слов.

Пример конфигурации

В этом примере мы настраиваем анализатор fingerprint для использования предварительно определенного списка английских стоп-слов:

PUT my-index-000001
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_fingerprint_analyzer": {
          "type": "fingerprint",
          "stopwords": "_english_"
        }
      }
    }
  }
}

POST my-index-000001/_analyze
{
  "analyzer": "my_fingerprint_analyzer",
  "text": "Yes yes, Gödel said this sentence is consistent and."
}

Вышеуказанный пример генерирует следующий термин:

[ consistent godel said sentence yes ]

Определение

Токенизатор fingerprint состоит из:

Токенизатор
  • Стандартный токенизатор
Фильтры токенов (в порядке)
  • Фильтр нижнего регистра
  • ASCII-свертка
  • Фильтр стоп-слов (отключен по умолчанию)
  • Fingerprint

Если вам нужно настроить анализатор fingerprint за пределами параметров конфигурации, вам нужно пересоздать его как анализатор custom и внести изменения, обычно добавив фильтры токенов. Это пересоздаст встроенный анализатор fingerprint, и вы можете использовать его в качестве отправной точки для дальнейшей настройки:

PUT /fingerprint_example
{
  "settings": {
    "analysis": {
      "analyzer": {
        "rebuilt_fingerprint": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "asciifolding",
            "fingerprint"
          ]
        }
      }
    }
  }
}

© 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-fingerprint-analyzer.html

Spec-Zone.ru

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