That's not true in this case Dave.  The single quotes are needed to
encapsulate an inner parameter value that has spaces.  It's not a get vs
post thing for this.

   Erik

On Fri, Sep 10, 2021, 11:45 Dave <hastings.recurs...@gmail.com> wrote:

> With a post you don’t have to worry about single/double quotes or any
> other characters like an @ or & in your query, they all go in as is from
> the user input, maybe not using curl but every language has a post
> operation to utilize. Kind of like placeholders for a sql query, they can
> contain anything and you don’t have to clean the user input (php bad Perl
> good)
>
> > On Sep 10, 2021, at 11:35 AM, Andy Coulson <andy.coul...@epicor.com>
> wrote:
> >
> > I'm not sure what you mean? If you mean why use a get vs a post, I
> guess just because we started with copying the url generated by the UI
> query console and just kept tweaking that. I supposed we could also just
> use postman to experiment using posts if that is supported.
> >
> > -----Original Message-----
> > From: David Hastings <hastings.recurs...@gmail.com>
> > Sent: Friday, September 10, 2021 9:34 AM
> > To: users@solr.apache.org
> > Subject: Re: qf with multiple fields in _query_ with edismax
> >
> > Do you mind if I ask why not use a post to solr?
> >
> >> On Fri, Sep 10, 2021 at 10:18 AM Andy Coulson <andy.coul...@epicor.com>
> >> wrote:
> >>
> >> Thanks Erik,
> >>
> >> That did the trick! My real use case will have additional predicates -
> >> I merely trimmed it down to reproduce and illustrate the problem. I
> >> real query will probably be something like (without encoding):
> >>
> >> q= locale:en AND thingType:part AND _query_:"{!edismax qf='object_name
> >> thing_name' pf=thing_name^10 v=$qq mm=$minMatch}"&qq=clutch
> >> cable&minMatch=100%&fl=*,score
> >>
> >> -----Original Message-----
> >> From: Erik Hatcher <erik.hatc...@gmail.com>
> >> Sent: Friday, September 10, 2021 8:40 AM
> >> To: users@solr.apache.org
> >> Subject: Re: qf with multiple fields in _query_ with edismax
> >>
> >> Andy,
> >>
> >> Use single quotes around the inner parameters, such as {!edismax
> >> qf='object_name thing_name'}.  Going even further, use the `v`
> >> parameter to encapsulate the query string inside as well, as the parser
> eats everything
> >> after the closing curly bracket otherwise.   {!edismax qf='object_name
> >> thing_name' v='r'}.   Beyond that, if the query string is potentially
> >> complex, and may itself contain a single quote, use param
> indirection....
> >>
> >>    q={!edismax qf='object_name thing_name' v=$qq mm='100%'}&qq=r
> >>
> >> If you're only doing a single edismax, then using the _query_ here is
> >> not necessary though.
> >>
> >>        Erik
> >>
> >>
> >>
> >>> On Sep 9, 2021, at 5:23 PM, Andy Coulson <andy.coul...@epicor.com>
> >> wrote:
> >>>
> >>> There is precious little documentation on the _query_ magic field,
> >>> but
> >> from what I understand, it should take whatever parameters are
> >> supported by parser.
> >>> I am trying to provide multiple filed names to the qf parameter, but
> >> nothing I try works. Examples I have found googling indicate my syntax
> >> should be ok.
> >>>
> >>> I am using the edismax parser and version 6.6
> >>>
> >>> I try this, where the term "r" does exists in thing_name (but not in
> >> object_name), but get no results:
> >>> http://localhost:8983/solr/myCore/select?q=_query_ <
> >> http://localhost:8983/solr/myCore/select?q=_query_
> >>> :"{!edismax%20qf=object_name%20thing_name}r"&fl=*%2Cscore
> >>>
> >>> example also suggest that having the fl parameter inside the braces
> >> should work, but it is ignored, as are other edismax params like mm.
> >>>
> >>> Andy Coulson
> >>> Principal Software Engineer
> >>> Epicor Software Corporation
> >>> www.epicor.com <http://www.epicor.com/>
> >>> Tel.: (512) 328-2300
> >>> Cell: (512) 517-2494
> >>> E-Mail: andy.coul...@epicor.com <mailto:andy.coul...@epicor.com>
> >>
> >>
>

Reply via email to