Вот опции нечеткости, доступные по запросу query_string
в NEST 2.x (используйте последнюю версию 2.5.8)
var client = new ElasticClient();
var searchResponse = client.Search<MyDocument>(s => s
.Query(q => q
.QueryString(qs =>qs
.Fields(f => f
.Field(ff => ff.Name, 3)
.Field(ff => ff.Content, 0.5)
)
.Query("fuzzy")
.Fuzziness(Fuzziness.EditDistance(3))
.FuzzyMaxExpansions(2)
.FuzzyPrefixLength(4)
.FuzzyRewrite(MultiTermQueryRewrite.TopTerms(3))
)
)
);
, что дает
{
"query": {
"query_string": {
"query": "fuzzy",
"fuzzy_max_expansions": 2,
"fuzziness": 3,
"fuzzy_prefix_length": 4,
"fields": [
"name^3",
"content^0.5"
],
"fuzzy_rewrite": "top_terms_3"
}
}
}
Также ознакомьтесь с публикацией в блоге и , в которой разбиты изменения между 1.x и 2.x документация