ElasticSearch as a suggestion engine

(Nicolas Clairon) #1


I have more than 3 millions of documents and I'd like to use
ElasticSearch as a as-you-type suggestion engine just like the
Wikipedia suggest box.

To make long things sort, let's say that my documents are just like
wikipedia's documents with the following fields :

  • title
  • aliases
  • page with some text

My problem is that I can't make elasticsearch's results relevant.

For instance, and to take some wikipedia example, searching the term
"news" returns me:

  • ABC news
  • The NeWS
  • "Huey Lewis and the News"
  • N.E.W.S"
  • News Corporation...

the "News" item is returned later.

Basically, I want it to return the item which match the whole term
before searching it into sentence.

Something like that :

"^term$" -> (ie: "News")
"^term" -> (ie: "News Corporation")

and then:

"term" -> (ie: "ABC news, "The NeWS"...)

How can I do that ? I tried many analyzer and query types
(query_string, term, fuzzy etc...) without luck.

Any hint and tips whould be very helpful.

Thanks !


(system) #2