"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. >