Я создал приведенное ниже отображение в индексе ES:
{
"field_to_search": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
И используя запрос ниже для получения данных:
{
"query": {
"bool": {
"should": [
{
"match": {
"field_to_search": {
"query": "is this test?",
"boost": 10,
"fuzziness": "2",
"prefix_length": 2
}
}
}
],
"minimum_should_match": 1
}
},
"size": 20
}
Получение результатов:
{
"_index": "test",
"_id": "2551",
"_score": 70.02259,
"_source": {
"id": "2551",
"field_to_search": "is this test value?",
}
},
{
"_index": "test",
"_id": "2545",
"_score": 61.861847,
"_source": {
"id": "2545",
"field_to_search": "is this test?",
}
},
{
"_index": "test",
"_id": "2355",
"_score": 50.987878,
"_source": {
"id": "2355",
"field_to_search": "is this test performance value?",
}
}
Ожидается: это тест? до c сверху
Здесь я не получаю точное совпадение сверху. Оценка за точное совпадение меньше, чем за нечеткое совпадение. Может кто-нибудь, пожалуйста, помогите здесь?
Я пробовал нечеткий запрос с минимальным увеличением, но он не работал.