Hello!I am using EdgeNGram on Elastic only on my index analyzer (not on my search analyzer) and Fuzziness.Auto on my search analyzer.The main problem is that I get the correct results but with wrong sorting.
For example if I type elephant, I will get elephants with higher score than elephant.Is there any help or suggestion?Thank you in advance!
Matching is a combination of a number of factors relating to your choice of analyzers and queries and the documents held inside your index. The explain API [1] can give low-level details on how things are matched.
Before you dive into this it is worth noting that the user's search text input does not have to be translated into a single choice of query clause in the elasticsearch query DSL. It often makes sense to combine multiple query expressions ranging from strict to lax in a single bool
query's array of should
expressions. Documents that match all of the expressions (strict and lax) will tend to rank highest. An example of a strict clause might be a query for an exact phrase match on a field analyzed with no stemming etc while an example of a sloppy clause might be the ngram approach you have here.
Thread: Synonym Problem
Cheers
Mark
[1] https://www.elastic.co/guide/en/elasticsearch/reference/current/search-explain.html
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.