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

Reply via email to