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
