4

The new CloudSearch API uses Solr in the backend and Solr has the "Did You Mean?" feature. However, it seems that Amazon has not yet exposed this feature, at least looking at the documentation. I have looked at other questions asking about implementing a "Did you mean?" feature, however if I am not mistaken, in all these cases the asker has control over the search engine.

I was thinking to perhaps send a second search query using fuzzy search if the first search query results in no matches. Would this be a good idea? Is it possible to create a "Did you mean?" / spellchecking type functionality when using CloudSearch?

Amer
  • 151
  • 1
  • 7
  • This is a very hot feature, but is not yet implemented in CloudSearch. Also there's a handy table here that compares features between CloudSearch and Solr on EC2: http://www.8kmiles.com/amazon-cloudsearch-vs-apache-solr/ – ggirtsou Jun 25 '14 at 17:58

1 Answers1

3

Not quite what you're asking for, but you could implement the Suggester feature to help prevent spellchecking issues:

http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html

But why not use fuzzy search in the first place? If you're worried about performance, I'd say time a couple searches with and without fuzzy to see if it's a significant difference.

You can also perform fuzzy searches with the simple query parser. To perform a fuzzy search, append the ~ operator and a value that indicates how much terms can differ from the user query string and still be considered a match. For example, the specifying planit~1 searches for the term planit and allows matches to differ by up to one character, which means the results will include hits for planet.

drzaus
  • 24,171
  • 16
  • 142
  • 201
  • And note -- fuzzy searching is different than sloppy searching even though they use the same operator `~`; fuzzy is not supported in the StructuredQuery while sloppy is -- https://forums.aws.amazon.com/thread.jspa?threadID=156986 – drzaus Apr 08 '16 at 17:17