I'm upgrading to Nest 2 (elasticsearch 1.x to 2.3), but notice on breaking changes that FuzzyMinimumSimilarity and OnFieldsWithBoost are gone. How should i replace this code below to Nest v2?
new SearchDescriptor<T>().Type(searchTypes).Query(q =>q.QueryString(qs => qs.Query(fuzzy).FuzzyMinimumSimilarity(0.7)));
And for FuzzyMaxExpansions(0.7)
Here are the fuzziness options available on query_string
query in NEST 2.x (use latest 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))
)
)
);
which yields
{
"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"
}
}
}
Also take a look at the release blog post and breaking changes between 1.x and 2.x documentation