On Mon, Oct 15, 2012 at 9:34 PM, Peter Karman <[email protected]> wrote:
> Cooked this up tonight and would appreciate comments on concept, design, ways 
> to
> improve, etc.
>
> https://github.com/karpet/lucyx-suggester

It is possible to write much more elaborate suggesters (and Lucene bundles
lots: <http://lucene.apache.org/core/4_0_0/suggest/index.html>).

However, in my experience, suggestions are just as sensitive as search
results, requiring elaborate weighting and control.  People often have strong
opinions about what the suggestions ought to be and can become quite uneasy
when what shows up doesn't match their expectations.

Therefore, to scale upwards, there is a significant benefit in creating a
dedicated index to handle suggestions, derived from the content of the primary
index.  You don't get to use the same disk space, but that's immaterial these
days -- the important thing is to make the best use of programmer time and
skillset when tuning the suggestions, and a satellite index is a good data
structure for that task.

IMO a simple suggester like this one hits the sweet spot for coding
return-on-investment for a general tool, since highly engineered tools often
prove unsatisfactory in the general case.  Scaling up would best be achieved
through a cookbook entry illustrating how to implement suggestions using a
search index, rather than by trying to build a one-size-fits-all super-awesome
fast-and-relevant suggester.

Marvin Humphrey

Reply via email to