lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Hubold <andreas.hub...@coremedia.com>
Subject Filtered search term suggestions via Facet Prefixing or NGrams
Date Thu, 04 Apr 2013 11:30:55 GMT
Hi,

we've successfully implemented suggestion of search terms using facet 
prefixing with Solr 4.0. However, with lots of unique index terms we've 
encountered performance problems (long running queries) and even 
exceptions: "Too many values for UnInvertedField faceting on field 
textbody".

We must provide suggestions based on a prefix entered by the user. The 
solution should use the terms from an indexed text field. Furthermore 
the suggestions must be filtered according to some specified filter 
queries.

Do you have any performance tips for facet prefixing or know how to 
avoid the above exception even in the case of many unique terms?

What is causing the above exception: a) the total number of unique terms 
in the field or b) the number of unique terms in the field of a single 
document
If b), is there a way to find such documents easily? Do you know how 
many unique terms can be handled without problems by facet prefixing?

I've read the blog post 
http://www.searchworkings.org/blog/-/blogs/different-ways-to-make-auto-suggestions-with-solr

which describes NGrams as another possible approach to implement 
suggestions with filtering. I would expect that this approach provides 
better query performance (at the cost of increased index size). However 
I haven't found detailed information how to implement it. I know how to 
configure a field for ngrams and how to perform a query using that 
field. But the results just give me the document but not the matched 
terms. Or am I expected to use a stored field and inspect its value?

I also found this blog post where the Highlighter is used in combination 
with ngrams to provide suggestions: 
http://solr.pl/en/2013/02/25/autocomplete-on-multivalued-fields-using-highlighting/
Can this be used to get the suggested terms from a document? What about 
performance? Will such an approach perform better than facet prefixing 
for large text fields with lots of unique terms?

Any hints appreciated.

Thank you,
Andreas

Mime
View raw message