Анализатор 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 принимает следующие параметры:
| | Символ, используемый для конкатенации терминов. По умолчанию – пробел. |
| | Максимальный размер токена для вывода. По умолчанию – |
| | Предварительно определенный список стоп-слов, например, |
| | Путь к файлу, содержащему стоп-слова. |
Для получения дополнительной информации о настройке стоп-слов см. Фильтр стоп-слов.
Пример конфигурации
В этом примере мы настраиваем анализатор 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