Why is the boolean fuzzy query in elasticsearch not returning results

Question: Why is the boolean #fuzzy query in elastic search not returning results?

Please Login to see the rest of the answer

Answer: If you are using the #NEST #ElasticSearch library in #Asp.Net Core C# Application, the field you are trying to query using a Fuzzy boolean query should be of the type "Keyword". When you index your data into Elastic Search there are types you set to let Elastic #Search index the data and chunk it appropriately.

However, if your data was indexed using #Dynamic Indexing where Elastic Search figures out what the type of that specific data field is, then the Fuzzy #query will work if you pass in one single word as a query. Keep in mind that this word should not contain any characters like (" or, or + or % or &) otherwise it won't work. See the code below:

string query = OriginalQuery.Replace("-", " ").Replace("%", " ").Replace("?", " ").Replace("#", " ").Replace(":", "").Replace("<", "").Replace(">", "").Replace("+", "");
var response = await _elasticClient.SearchAsync<POCO>
             (s => s.Query(q => q.Fuzzy(b =>
             b.Field(k => k.MyFieldToQueryOn)

        ).Sort(a => a.Descending(k => k.Score)))

If this helped you leave a comment below.

Write an Article
If you log in, you will be notified when someone leaves a comment.

Other users would like to know if this solution helped you.

© 2022 - ErnesTech - Privacy