You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Mark Robinson <ma...@gmail.com> on 2016/04/29 16:55:19 UTC
Phrases and edismax
Hi,
q=productType:(two piece bathtub white)
&defType=edismax&pf=productType^20.0&qf=productType^15.0
In the debug section this is what I see:-
<str name="parsedquery">
(+(productType:two productType:piec productType:bathtub productType:white)
DisjunctionMaxQuery((productType:"piec bathtub white"^20.0)))/no_coord
</str>
My question is related to the "pf" (phrases) section of edismax.
As shown in the debug section why is the phrase taken as "piec bathtub
white". Why is the first word "two" not considered in the phrase fields
section.
I am looking for queries with the words "two piece bathtub white" being
together to be boosted and not "piece bathtub white" only to be boosted.
Could some one help me understand what I am missing?
Thanks!
Mark
Re: Phrases and edismax
Posted by Mark Robinson <ma...@gmail.com>.
Sorry Eric.
I will check and raise it under SOLR project.
Thanks!
Mark.
On Mon, May 2, 2016 at 11:43 PM, Erick Erickson <er...@gmail.com>
wrote:
> Mark:
>
> KYLIN-1644? This should be SOLR-####. I suspect you entered the JIRA
> in the wrong Apache project.....
>
>
> Erick
>
> On Mon, May 2, 2016 at 8:05 PM, Mark Robinson <ma...@gmail.com>
> wrote:
> > Hi Eric,
> >
> > I have raised a JIRA:- *KYLIN-1644* with the problem mentioned.
> >
> > Thanks!
> > Mark.
> >
> > On Sun, May 1, 2016 at 5:25 PM, Mark Robinson <ma...@gmail.com>
> > wrote:
> >
> >> Thanks much Eric for checking in detail.
> >> Yes I found the first term being left out in pf.
> >> Because of that I had some cases where a couple of unwanted records came
> >> in the results with higher priority than the normal ones. When I checked
> >> they matched from the 2nd term onwards.
> >>
> >> As suggested I wud raise a JIRA.
> >>
> >> Thanks!
> >> Mark
> >>
> >> On Sat, Apr 30, 2016 at 1:20 PM, Erick Erickson <
> erickerickson@gmail.com>
> >> wrote:
> >>
> >>> Looks like a bug in edismax to me when you field-qualify
> >>> the terms.
> >>>
> >>> As an aside, there's no need to specify the field when you only
> >>> want it to go against the fields defined in "qf" and "pf" etc. And,
> >>> that's a work-around for this particular case. But still:
> >>>
> >>> So here's what I get on 5x:
> >>> q=(erick men truck)&defType=edismax&qf=name&pf=name
> >>> correctly returns:
> >>> "+((name:erick) (name:men) (name:truck)) (name:"erick men truck")",
> >>>
> >>> But,
> >>> q=name:(erick men truck)&defType=edismax&qf=name&pf=name
> >>> incorrectly returns:
> >>> "+(name:erick name:men name:truck) (name:"men truck")",
> >>>
> >>> And this:
> >>> q=name:(erick men truck)&defType=edismax&qf=name&pf=features
> >>> incorrectly gives this.
> >>>
> >>> "+(name:erick name:men name:truck) (features:"men truck")",
> >>>
> >>> Confusingly, the terms (with "erick" left out, strike 1)
> >>> goes against the pf field even though it's fully qualified against the
> >>> name field. Not entirely sure whether this is intended or not frankly.
> >>>
> >>> Please go ahead and raise a JIRA.
> >>>
> >>> Best,
> >>> Erick
> >>>
> >>> On Fri, Apr 29, 2016 at 7:55 AM, Mark Robinson <
> mark123learns@gmail.com>
> >>> wrote:
> >>> > Hi,
> >>> >
> >>> > q=productType:(two piece bathtub white)
> >>> > &defType=edismax&pf=productType^20.0&qf=productType^15.0
> >>> >
> >>> > In the debug section this is what I see:-
> >>> > <str name="parsedquery">
> >>> > (+(productType:two productType:piec productType:bathtub
> >>> productType:white)
> >>> > DisjunctionMaxQuery((productType:"piec bathtub
> white"^20.0)))/no_coord
> >>> > </str>
> >>> >
> >>> > My question is related to the "pf" (phrases) section of edismax.
> >>> > As shown in the debug section why is the phrase taken as "piec
> bathtub
> >>> > white". Why is the first word "two" not considered in the phrase
> fields
> >>> > section.
> >>> > I am looking for queries with the words "two piece bathtub white"
> being
> >>> > together to be boosted and not "piece bathtub white" only to be
> boosted.
> >>> >
> >>> > Could some one help me understand what I am missing?
> >>> >
> >>> > Thanks!
> >>> > Mark
> >>>
> >>
> >>
>
Re: Phrases and edismax
Posted by Erick Erickson <er...@gmail.com>.
Mark:
KYLIN-1644? This should be SOLR-####. I suspect you entered the JIRA
in the wrong Apache project.....
Erick
On Mon, May 2, 2016 at 8:05 PM, Mark Robinson <ma...@gmail.com> wrote:
> Hi Eric,
>
> I have raised a JIRA:- *KYLIN-1644* with the problem mentioned.
>
> Thanks!
> Mark.
>
> On Sun, May 1, 2016 at 5:25 PM, Mark Robinson <ma...@gmail.com>
> wrote:
>
>> Thanks much Eric for checking in detail.
>> Yes I found the first term being left out in pf.
>> Because of that I had some cases where a couple of unwanted records came
>> in the results with higher priority than the normal ones. When I checked
>> they matched from the 2nd term onwards.
>>
>> As suggested I wud raise a JIRA.
>>
>> Thanks!
>> Mark
>>
>> On Sat, Apr 30, 2016 at 1:20 PM, Erick Erickson <er...@gmail.com>
>> wrote:
>>
>>> Looks like a bug in edismax to me when you field-qualify
>>> the terms.
>>>
>>> As an aside, there's no need to specify the field when you only
>>> want it to go against the fields defined in "qf" and "pf" etc. And,
>>> that's a work-around for this particular case. But still:
>>>
>>> So here's what I get on 5x:
>>> q=(erick men truck)&defType=edismax&qf=name&pf=name
>>> correctly returns:
>>> "+((name:erick) (name:men) (name:truck)) (name:"erick men truck")",
>>>
>>> But,
>>> q=name:(erick men truck)&defType=edismax&qf=name&pf=name
>>> incorrectly returns:
>>> "+(name:erick name:men name:truck) (name:"men truck")",
>>>
>>> And this:
>>> q=name:(erick men truck)&defType=edismax&qf=name&pf=features
>>> incorrectly gives this.
>>>
>>> "+(name:erick name:men name:truck) (features:"men truck")",
>>>
>>> Confusingly, the terms (with "erick" left out, strike 1)
>>> goes against the pf field even though it's fully qualified against the
>>> name field. Not entirely sure whether this is intended or not frankly.
>>>
>>> Please go ahead and raise a JIRA.
>>>
>>> Best,
>>> Erick
>>>
>>> On Fri, Apr 29, 2016 at 7:55 AM, Mark Robinson <ma...@gmail.com>
>>> wrote:
>>> > Hi,
>>> >
>>> > q=productType:(two piece bathtub white)
>>> > &defType=edismax&pf=productType^20.0&qf=productType^15.0
>>> >
>>> > In the debug section this is what I see:-
>>> > <str name="parsedquery">
>>> > (+(productType:two productType:piec productType:bathtub
>>> productType:white)
>>> > DisjunctionMaxQuery((productType:"piec bathtub white"^20.0)))/no_coord
>>> > </str>
>>> >
>>> > My question is related to the "pf" (phrases) section of edismax.
>>> > As shown in the debug section why is the phrase taken as "piec bathtub
>>> > white". Why is the first word "two" not considered in the phrase fields
>>> > section.
>>> > I am looking for queries with the words "two piece bathtub white" being
>>> > together to be boosted and not "piece bathtub white" only to be boosted.
>>> >
>>> > Could some one help me understand what I am missing?
>>> >
>>> > Thanks!
>>> > Mark
>>>
>>
>>
Re: Phrases and edismax
Posted by Mark Robinson <ma...@gmail.com>.
Hi Eric,
I have raised a JIRA:- *KYLIN-1644* with the problem mentioned.
Thanks!
Mark.
On Sun, May 1, 2016 at 5:25 PM, Mark Robinson <ma...@gmail.com>
wrote:
> Thanks much Eric for checking in detail.
> Yes I found the first term being left out in pf.
> Because of that I had some cases where a couple of unwanted records came
> in the results with higher priority than the normal ones. When I checked
> they matched from the 2nd term onwards.
>
> As suggested I wud raise a JIRA.
>
> Thanks!
> Mark
>
> On Sat, Apr 30, 2016 at 1:20 PM, Erick Erickson <er...@gmail.com>
> wrote:
>
>> Looks like a bug in edismax to me when you field-qualify
>> the terms.
>>
>> As an aside, there's no need to specify the field when you only
>> want it to go against the fields defined in "qf" and "pf" etc. And,
>> that's a work-around for this particular case. But still:
>>
>> So here's what I get on 5x:
>> q=(erick men truck)&defType=edismax&qf=name&pf=name
>> correctly returns:
>> "+((name:erick) (name:men) (name:truck)) (name:"erick men truck")",
>>
>> But,
>> q=name:(erick men truck)&defType=edismax&qf=name&pf=name
>> incorrectly returns:
>> "+(name:erick name:men name:truck) (name:"men truck")",
>>
>> And this:
>> q=name:(erick men truck)&defType=edismax&qf=name&pf=features
>> incorrectly gives this.
>>
>> "+(name:erick name:men name:truck) (features:"men truck")",
>>
>> Confusingly, the terms (with "erick" left out, strike 1)
>> goes against the pf field even though it's fully qualified against the
>> name field. Not entirely sure whether this is intended or not frankly.
>>
>> Please go ahead and raise a JIRA.
>>
>> Best,
>> Erick
>>
>> On Fri, Apr 29, 2016 at 7:55 AM, Mark Robinson <ma...@gmail.com>
>> wrote:
>> > Hi,
>> >
>> > q=productType:(two piece bathtub white)
>> > &defType=edismax&pf=productType^20.0&qf=productType^15.0
>> >
>> > In the debug section this is what I see:-
>> > <str name="parsedquery">
>> > (+(productType:two productType:piec productType:bathtub
>> productType:white)
>> > DisjunctionMaxQuery((productType:"piec bathtub white"^20.0)))/no_coord
>> > </str>
>> >
>> > My question is related to the "pf" (phrases) section of edismax.
>> > As shown in the debug section why is the phrase taken as "piec bathtub
>> > white". Why is the first word "two" not considered in the phrase fields
>> > section.
>> > I am looking for queries with the words "two piece bathtub white" being
>> > together to be boosted and not "piece bathtub white" only to be boosted.
>> >
>> > Could some one help me understand what I am missing?
>> >
>> > Thanks!
>> > Mark
>>
>
>
Re: Phrases and edismax
Posted by Mark Robinson <ma...@gmail.com>.
Thanks much Eric for checking in detail.
Yes I found the first term being left out in pf.
Because of that I had some cases where a couple of unwanted records came in
the results with higher priority than the normal ones. When I checked they
matched from the 2nd term onwards.
As suggested I wud raise a JIRA.
Thanks!
Mark
On Sat, Apr 30, 2016 at 1:20 PM, Erick Erickson <er...@gmail.com>
wrote:
> Looks like a bug in edismax to me when you field-qualify
> the terms.
>
> As an aside, there's no need to specify the field when you only
> want it to go against the fields defined in "qf" and "pf" etc. And,
> that's a work-around for this particular case. But still:
>
> So here's what I get on 5x:
> q=(erick men truck)&defType=edismax&qf=name&pf=name
> correctly returns:
> "+((name:erick) (name:men) (name:truck)) (name:"erick men truck")",
>
> But,
> q=name:(erick men truck)&defType=edismax&qf=name&pf=name
> incorrectly returns:
> "+(name:erick name:men name:truck) (name:"men truck")",
>
> And this:
> q=name:(erick men truck)&defType=edismax&qf=name&pf=features
> incorrectly gives this.
>
> "+(name:erick name:men name:truck) (features:"men truck")",
>
> Confusingly, the terms (with "erick" left out, strike 1)
> goes against the pf field even though it's fully qualified against the
> name field. Not entirely sure whether this is intended or not frankly.
>
> Please go ahead and raise a JIRA.
>
> Best,
> Erick
>
> On Fri, Apr 29, 2016 at 7:55 AM, Mark Robinson <ma...@gmail.com>
> wrote:
> > Hi,
> >
> > q=productType:(two piece bathtub white)
> > &defType=edismax&pf=productType^20.0&qf=productType^15.0
> >
> > In the debug section this is what I see:-
> > <str name="parsedquery">
> > (+(productType:two productType:piec productType:bathtub
> productType:white)
> > DisjunctionMaxQuery((productType:"piec bathtub white"^20.0)))/no_coord
> > </str>
> >
> > My question is related to the "pf" (phrases) section of edismax.
> > As shown in the debug section why is the phrase taken as "piec bathtub
> > white". Why is the first word "two" not considered in the phrase fields
> > section.
> > I am looking for queries with the words "two piece bathtub white" being
> > together to be boosted and not "piece bathtub white" only to be boosted.
> >
> > Could some one help me understand what I am missing?
> >
> > Thanks!
> > Mark
>
Re: Phrases and edismax
Posted by Erick Erickson <er...@gmail.com>.
Looks like a bug in edismax to me when you field-qualify
the terms.
As an aside, there's no need to specify the field when you only
want it to go against the fields defined in "qf" and "pf" etc. And,
that's a work-around for this particular case. But still:
So here's what I get on 5x:
q=(erick men truck)&defType=edismax&qf=name&pf=name
correctly returns:
"+((name:erick) (name:men) (name:truck)) (name:"erick men truck")",
But,
q=name:(erick men truck)&defType=edismax&qf=name&pf=name
incorrectly returns:
"+(name:erick name:men name:truck) (name:"men truck")",
And this:
q=name:(erick men truck)&defType=edismax&qf=name&pf=features
incorrectly gives this.
"+(name:erick name:men name:truck) (features:"men truck")",
Confusingly, the terms (with "erick" left out, strike 1)
goes against the pf field even though it's fully qualified against the
name field. Not entirely sure whether this is intended or not frankly.
Please go ahead and raise a JIRA.
Best,
Erick
On Fri, Apr 29, 2016 at 7:55 AM, Mark Robinson <ma...@gmail.com> wrote:
> Hi,
>
> q=productType:(two piece bathtub white)
> &defType=edismax&pf=productType^20.0&qf=productType^15.0
>
> In the debug section this is what I see:-
> <str name="parsedquery">
> (+(productType:two productType:piec productType:bathtub productType:white)
> DisjunctionMaxQuery((productType:"piec bathtub white"^20.0)))/no_coord
> </str>
>
> My question is related to the "pf" (phrases) section of edismax.
> As shown in the debug section why is the phrase taken as "piec bathtub
> white". Why is the first word "two" not considered in the phrase fields
> section.
> I am looking for queries with the words "two piece bathtub white" being
> together to be boosted and not "piece bathtub white" only to be boosted.
>
> Could some one help me understand what I am missing?
>
> Thanks!
> Mark