and I am trying to get them when the query is misspelled. It works quite
fine for fuzzy based query like:
curl -XGET 'http://localhost:9200/shop/cameras/_search' -d '
{
"query" : {
"fuzzy" : {
"product_name" : {
"value" : "nikko",
"min_similarity" : 0.5
}
}
}
}
'
However in docs for fuzzy based query there is a warrning that this
solution is not scalable. Is there another way to get results for
misspeled query
not using fuzzy based queries?
You could try to create your own analyzer (or take one from Solr ;))
Either via n-grams or 'phonetic terms' - terms that sounds equally
will get the same transformed term: see Soundex - Wikipedia
etc
Another start could be to look at Solr's spellchecking mechanism and
copy them to use the (analyzer) into ES
'
However in docs for fuzzy based query there is a warrning that this
solution is not scalable. Is there another way to get results for
misspeled query
not using fuzzy based queries?
You could try to create your own analyzer (or take one from Solr ;))
Either via n-grams or 'phonetic terms' - terms that sounds equally
will get the same transformed term: seehttp://en.wikipedia.org/wiki/Soundex
etc
Another start could be to look at Solr's spellchecking mechanism and
copy them to use the (analyzer) into ES
'
However in docs for fuzzy based query there is a warrning that this
solution is not scalable. Is there another way to get results for
misspeled query
not using fuzzy based queries?
You could try to create your own analyzer (or take one from Solr ;))
Either via n-grams or 'phonetic terms' - terms that sounds equally
will get the same transformed term: seehttp://en.wikipedia.org/wiki/Soundex
etc
Another start could be to look at Solr's spellchecking mechanism and
copy them to use the (analyzer) into ES
'
However in docs for fuzzy based query there is a warrning that this
solution is not scalable. Is there another way to get results for
misspeled query
not using fuzzy based queries?
Those analyzers are already provided in ES (soundex and ngram). Regarding the spell check component, it is problematic since it requires another index to be built alongside the original index, which gets really complicated when it comes to distributed system.
The reason for not tackling this currently is that there is a really cool work done in lucene trunk (upcoming 4.0) that will provide spell check like functionality while working on the original index.
On Tuesday, February 8, 2011 at 2:53 PM, MichaÅ Orzechowski wrote:
Thanks for help! I am going to look into those Solr components.
You could try to create your own analyzer (or take one from Solr ;))
Either via n-grams or 'phonetic terms' - terms that sounds equally
will get the same transformed term: seehttp://en.wikipedia.org/wiki/Soundex
etc
Another start could be to look at Solr's spellchecking mechanism and
copy them to use the (analyzer) into ES
'
However in docs for fuzzy based query there is a warrning that this
solution is not scalable. Is there another way to get results for
misspeled query
not using fuzzy based queries?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.