Я только что попробовал ваш пример на elasti c -поиск версии 7.6, и он работал для меня Можете ли вы указать, как вы индексировали свои данные ie образец документации и версию вашего эластичного поиска?
Также указанный вами запрос не является синтаксически правильным.
Индексное определение с помощью меньше полей
{
"mappings": {
"properties": {
"attachment": {
"properties": {
"author": {
"type": "text"
},
"content": {
"type": "text"
}
}
}
}
}
}
проиндексировано 3 ожидаемых вами документа
{
"attachment.author": "bar",
"attachment.content": "pello world"
}
{
"attachment.author": "bar",
"attachment.content": "hello world"
}
{
"attachment.author": "bar",
"attachment.content": "hello vorld"
}
Тот же поисковый запрос, который вы указали с правильным синтаксисом
{
"query": {
"match" : {
"attachment.content" : {
"query" : "hello world", --> properly closed quotes
"minimum_should_match": 2,
"fuzziness": 1
}
}
}
}
Результаты поиска
"hits": [
{
"_index": "fuzzy",
"_type": "_doc",
"_id": "1",
"_score": 0.9400072,
"_source": {
"attachment.author": "foo",
"attachment.content": "hello world"
}
},
{
"_index": "fuzzy",
"_type": "_doc",
"_id": "2",
"_score": 0.8460065,
"_source": {
"attachment.author": "bar",
"attachment.content": "hello vorld"
}
},
{
"_index": "fuzzy",
"_type": "_doc",
"_id": "3",
"_score": 0.8460065,
"_source": {
"attachment.author": "bar",
"attachment.content": "pello world"
}
}
]
Есть еще одна часть вашего вопроса, а именно документы, содержащие только hello
, поступающие в результаты поиска, хотя minimum_should_match=2
, который также работает нормально, я проиндексировал еще одну операцию c as
{
"attachment.author": "bar",
"attachment.content": "my world" --> only world
}
Снова тот же поисковый запрос возвращает только предыдущие 3 документа, но если мы изменим minimum_should_match
на 1
, он вернет все 4 документа.
{
"_index": "fuzzy",
"_type": "_doc",
"_id": "1",
"_score": 1.0498221,
"_source": {
"attachment.author": "foo",
"attachment.content": "hello world"
}
},
{
"_index": "fuzzy",
"_type": "_doc",
"_id": "2",
"_score": 0.9784871,
"_source": {
"attachment.author": "bar",
"attachment.content": "hello vorld"
}
},
{
"_index": "fuzzy",
"_type": "_doc",
"_id": "3",
"_score": 0.91119266,
"_source": {
"attachment.author": "bar",
"attachment.content": "pello world"
}
},
{
"_index": "fuzzy",
"_type": "_doc",
"_id": "4",
"_score": 0.35667494,
"_source": {
"attachment.author": "bar",
"attachment.content": "my world" --> note last 4 doc
}
}
]