Я новичок в ELasticsearch и нуждаюсь в вашей помощи относительно ES, возвращающего непревзойденные результаты для анализируемого поля. у меня есть собственный анализатор следующим образом:Elasticsearch возвращает непревзойденные результаты
"analyzer": {
"testing_analyzer": {
"type": "custom",
"char_filter": "html_strip",
"tokenizer": "standard",
"filter": [
"lowercase",
"asciifolding",
"snowball",
"stop"
]
},
"testing_search_analyzer": {
"type": "custom",
"char_filter": "html_strip",
"tokenizer": "standard",
"filter": [
"lowercase",
"asciifolding"
]
}
}
я поставил этот анализатор для поля на обоих индекса & поиска следующим образом.
"name":
{
"type": "string",
"analyzer": "testing_analyzer",
"search_analyzer": "testing_search_analyzer"
}
но когда поиск имен «Università ди болонья», это вернуть первый результат запись имеет такой же матч, но и некоторые другие записи не совпадают (вторая запись в результате ниже):
Record1:
[ "Università di Bologna", "University of Bologna", "CNR", "Università di Pisa", "University of Pisa", "Mineraria e Delle Tecnologie Ambientali" ]
Record2:
[ "University of Salerno", "Università di Salerno" ]
Запрос:
{
"fields": [
"doc_id",
"name"
],
"query": {
"match": {
"name": "Università di bologna"
}
}
}
любая помощь?!
как определено 'testing_search_analyzer'? – keety
"testing_search_analyzer": { "типа": "пользовательские", "char_filter": "html_strip", "токенизатор": "стандартный", "фильтр": [ "нижний регистр", "asciifolding"] } , – Telebh
Вы тоже можете показать запрос? – keety