问题
I would like to implement predictive autosuggest in my website. I have used Solr to improve search performance. But after a research of last 2 days, I understand that Solr didn't have any built in package or support to implement predictive suggestion like Amazon or flipkart search. Anybody can advice me what is the easy logic to implement predictive suggestion OR what are the technologies supports this type of search suggestion?
Expected workflow as follows,
If user search string "samsung" our autosuggestion should show grouped suggestion as follows,
- samsung in Mobile
- samsung in Television
samsung in Laptop
and so on
回答1:
You're describing "filtered search" (via autosuggest). You can determine which filters to offer using Solr facets.
Assuming "Mobile", "Television" and "Laptop" are all values in a Solr field called category
:
- Run a query for
samsung
withrows=0
and request a terms facet oncategory
. - You'll get back an frequency-ordered list of categories where documents match
samsung
- Display these categories as filtered search options (via autosuggest) if you decide the result count is high enough.
- When a suggestion is chosen, run a second query for
samsung
filtered by the chosen category (eg:q=samsung&fq=category:Mobile&rows=10
)
来源:https://stackoverflow.com/questions/30074681/predictive-autosuggest-logic