Search AutoComplete / Solr Suggester

Enhances the search experience by offering suggestions as you type using the auto-complete functionality built into the search form

The Search AutoComplete (aka Suggester or type-ahead) module enhances the search experience by offering suggestions as you type using the auto-complete functionality built into the search form.

As one starts to enter search terms, the module detects a pause in typing and offers a list of suggested searches. One can then easily pick one of the suggestions or continue refining the suggestions by typing in more of the query.

Sematext AutoComplete guides the user to the final query, making it easier and faster for people to get to the results while minimizing the chance or query entry errors, such as misspellings or queries that return no results.

This significantly boosts users' search efficiency and can result in significant increases in conversions and revenue.

For example, if you type "bass" AutoComplete might offer suggestions that include "bass fishing" or "bass guitar", and even "sea bass" (note how "bass" is not necessarily the first word).

Similarly, if you type in only part of a word, like "prog", AutoComplete might suggest "programming", "programming languages", "progesterone", or "progressive". You can choose one of the suggestions by scrolling up or down the list with the arrow keys or mouse.

We'd developed our own SOLR AutoComplete but it wasn't good enough for what we really wanted. We found Sematext and after discussing the features, bought their AutoComplete/Search product. It took very little time to integrate, even on Solr 4.0, and with their excellent support, we soon had an AutoComplete system second to none and our client is delighted. They really are a great team and we have no hesitation in recommending them and their solutions!

  • Highlighting of the matching part of the partially entered query
  • Ability to add images along with suggestions (think: product thumbnails, book/CD/DVD covers, etc.)
  • Ability to group suggestions in multiple segments (e.g. suggested book titles vs. video titles vs. author names in separate groups)
  • Ability to display contextually relevant message(s) or advertisement(s) that match user input right in the AutoComplete widget
  • Ability to customize the look and feel of the UI elements
  • Ability to make suggestions despite misspellings and typos in user input

In this screenshot, taken from our site, you can see several features of Sematext AutoComplete:

autocomplete researcher segments
  • Reduces the chance of misspelled queries by guiding searchers to desired queries and reducing typing
  • Improves the quality and precision of queries through guidance
  • Reduces query noise by offering query selection instead of typing
  • Speeds up the search-experience by reducing the need to type long queries
  • Lets the business influence search choices instead of being a passive observer

The module consists of the back-end and the UI components. The back-end component runs in any servlet container (Tomcat, Jetty, Resin, etc.). The UI element consists of AJAX (JavaScript) that ties to your search form.

This JavaScript senses pauses in typing and asks the back-end for suggestions, which it then offers in the UI. The back-end can be fed with suggestion entries from a database, from an existing Lucene or Solr index, from a simple text file, or anything that can print suggestion text to standard output.

How do you determine if AutoComplete is a success for you? The following are some of the things to watch:

  • Fewer query misspellings
  • Fewer did you mean (DYM) requests and lower usage of DYM suggestions
  • Fewer zero hits searches
  • Lower number of searches/session metric
  • Lower "time on site" metric - people find what they are after faster
  • Happier users
  • Happier business department

Q: Is there a demo or a suggester example?
A: Yes, see and for live autocomplete examples. Note that we can also provide you with a 30-day evaluation copy.

Q: Does AutoComplete work with Solr?
A: Yes, it is compatible with 4.x, 3.x, 1.4.x, and 1.3.x versions of Solr.

Q: Does AutoComplete work with Elasticsearch?
A: Yes, it can work along side of Elasticsearch.

Q: Does AutoComplete work commercial search vendor solutions?
A: Yes, it can work along side other search solutions.

Q: What/who determines the suggestions?
A: You do. Suggestions in the form of phrases representing queries to suggest are loaded in the back-end server component and can be changed at run-time.

Q: Can this work with any kind of search solution?
A: Yes, this module is search provider agnostic. It can be used along search powered by FAST ESP, or Endeca, or Vivisimo, or Solr, or ...

Q: What can be customized?
A: The UI look and feel can be completely customized (e.g. font type and color, background color), as can the typing delay, the number of characters required before any suggestions are offered, the number of offered suggestions, and the search request URL.

Q: How can I feed the AutoComplete back-end?
A: The back-end service can be fed with suggestion entries from a database, from an existing Lucene or Solr index, from a simple text file, or anything that can print data to standard output.

Q: Is AutoComplete language-dependent?
A: No, AutoComplete works with suggestions in any language. It can return suggestions in Chinese, English, Spanish, Arabic, or any other language.