Hello - why not index the facet field as n-grams? It blows up the index but is 
very fast!
Markus

-----Original message-----
> From:Erick Erickson <erickerick...@gmail.com>
> Sent: Tuesday 21st July 2015 21:36
> To: solr-user@lucene.apache.org
> Subject: Re: Performance of facet contain search in 5.2.1
> 
> "contains" has to basically examine each and every term to see if it
> matches. Say my
> facet.contains=bbb. A matching term could be
> aaabbbxyz
> or
> zzzbbbxyz
> 
> So there's no way to _know_ when you've found them all without
> examining every last
> one. So I'd try to redefine the problem to not require that. If it's
> absolutely required,
> you can do some interesting things but it's going to inflate your index.
> 
> For instance, "rotate" words (assuming word boundaries here). So, for
> instance, you have
> a text field with "my dog has fleas". Index things like
> my dog has fleas|my dog has fleas
> dog has fleas my|my dog has fleas
> has fleas my dog|my dog has fleas
> fleas my dog has|my dog has fleas
> 
> Literally with the pipe followed by the original text. Now all your
> contains clauses are
> simple prefix facets, and you can have the UI split the token on the
> pipe and display the
> original.
> 
> Best,
> Erick
> 
> On Tue, Jul 21, 2015 at 1:16 AM, Lo Dave <dav...@hotmail.com> wrote:
> > I found that facet contain search take much longer time than facet prefix 
> > search. Do anyone have idea how to make contain search faster?
> > org.apache.solr.core.SolrCore; [concordance] webapp=/solr path=/select 
> > params={q=sentence:"duty+of+care"&facet.field=autocomplete&indent=true&facet.prefix=duty+of+care&rows=1&wt=json&facet=true&_=1437462916852}
> >  hits=1856 status=0 QTime=5 org.apache.solr.core.SolrCore; [concordance] 
> > webapp=/solr path=/select 
> > params={q=sentence:"duty+of+care"&facet.field=autocomplete&indent=true&facet.contains=duty+of+care&rows=1&wt=json&facet=true&facet.contains.ignoreCase=true}
> >  hits=1856 status=0 QTime=10951
> > As show above, prefix search take 5 but contain search take 10951
> > Thanks.
> >

Reply via email to