Я использую elasticsearch Ngramngrams модули elasticsearch не работают
"analysis": {
"filter": {
"desc_ngram": {
"type": "ngram",
"min_gram": 3,
"max_gram": 8
}
},
"analyzer": {
"index_ngram": {
"type": "custom",
"tokenizer": "keyword",
"filter": [ "desc_ngram", "lowercase" ]
},
"search_ngram": {
"type": "custom",
"tokenizer": "keyword",
"filter": "lowercase"
}
}
}
И у меня есть 2 объекта здесь
{
"name": "Shana Calandra",
"username": "shacalandra",
},
{
"name": "Shana Launer",
"username": "shalauner",
},
И используя этот запрос
{
query: {
match: {
_all: "Shana"
}
}
}
Когда я ищу с этим запросом , он возвращает мне оба документа, но я не могу найти часть слова здесь, например, я не могу использовать «Шан» вместо «Шана» в q uery, потому что он ничего не возвращает.
Может быть, мое отображение неправильно, я не могу понять, проблема заключается в отображении или по запросу
Возможно, проблема связана с полем '_all', и стандартный анализатор используется для этого поля, если не указано иное. Попробуйте выполнить поиск по имени. Это работает? – Val