Erick: Well, in principle you should be able to access both q (via qstr) and fq (via params), as the method signature tells:
createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req) http://lucene.apache.org/solr/4_8_1/solr-core/org/apache/solr/search/QParserPlugin.html so as you pointed, the branching between q and fq can be done using the local params syntax. Not sure, if there is any practical use case here, though. sorry for diverting from the original topic :) On Mon, May 26, 2014 at 7:37 PM, Erick Erickson <erickerick...@gmail.com>wrote: > Dmitry: > > You have a valid point. That said I'm pretty sure you could have the > filter query use your custom parser by something like > fq={!customparser} whatever.... > > Of course if you were doing something in your custom qparser that > needed both halves, that wouldn't work either...... > > Best, > Erick > > On Mon, May 26, 2014 at 12:14 AM, Dmitry Kan <solrexp...@gmail.com> wrote: > > Erick, > > > > correct me if the following's wrong, but if you have a custom query > parser > > configured to preprocess your searches, you'd need to send the > > corresponding bit of the search in the q= parameter, rather than fq= > > parameter. In that sense, q and fq are not exactly equal. > > > > Dmitry > > > > > > On Thu, May 22, 2014 at 5:57 PM, Erick Erickson <erickerick...@gmail.com > >wrote: > > > >> Hmmm, not quite. > >> > >> AFAIK, anything you can put in a q clause can also be put in an fq > >> clause. So it's not a matter of whether your search is precise or not > >> that you should use for determining whether to use a q or fq clause. > >> What _should_ influence this is whether docs that satisfy the clause > >> should contribute to ranking. > >> > >> fq clauses do NOT contribute to ranking. They determine whether the > >> doc is returned at all. > >> q clauses contribute to the ranking. > >> > >> Additionally, the results of fq clauses are cached and may be re-used. > >> > >> That said, since fq clauses are often used in conjunction with > >> faceting, they are very often used more precisely. But it's still a > >> matter of caching and ranking that should determine where the clause > >> goes. > >> > >> FWIW, > >> Erick > >> > >> On Wed, May 21, 2014 at 9:09 PM, manju16832003 <manju16832...@gmail.com > > > >> wrote: > >> > The *fq* is used for searching more deterministic results something > like > >> > WHERE type={} > >> > Where as *q* is something like WHERE type like '%%' > >> > > >> > user *fq*, if your are sure of what your going to search > >> > use *q*, if not sure what your trying to search > >> > > >> > If you are using fq and if you do not get any matching documents, solr > >> > throws 0 or error message > >> > where q would try to match nearest documents for your search query > >> > > >> > That's what I have experienced so far. :-). > >> > > >> > > >> > > >> > > >> > -- > >> > View this message in context: > >> > http://lucene.472066.n3.nabble.com/Using-fq-as-OR-tp4137411p4137525.html > >> > Sent from the Solr - User mailing list archive at Nabble.com. > >> > > > > > > > > -- > > Dmitry Kan > > Blog: http://dmitrykan.blogspot.com > > Twitter: http://twitter.com/dmitrykan > -- Dmitry Kan Blog: http://dmitrykan.blogspot.com Twitter: http://twitter.com/dmitrykan