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 elisabeth benoit <el...@gmail.com> on 2012/03/29 10:05:28 UTC

disadvantage one field in a catchall field

Hi all,

I'm using solr 3.4 with a catchall field and an edismaw request handler.
I'd like to score higher answers matching with words not contained in one
of the fields copied into my catchall field.

So my catchallfield is called catchall. It contains, let's say, fields
NAME, CATEGORY, TOWN, WAY and DESCRIPTION.

For one query, I would like to have answers matching NAME, CATEGORY, TOWN
and WAY scored higher, but I still want to search in DESCRIPTION.

I tried

qf=catchall DESCRIPTION^0.001,

but this doesn't seem to change the scoring. When I set debutQuery=on,
parsedquery_toString looks like

(text:paus | DESCRIPTION:pause^0.001) (this seems like an OR to me)

but I see no trace of DESCRIPTION in explain

One solution I guess would be to keep DESCRIPTION in a separate filed, and
do not include it in my catchall field. But I wonder if there is a solution
with the catchall field???

Thanks for your help,
Elisabeth

Re: disadvantage one field in a catchall field

Posted by Erick Erickson <er...@gmail.com>.
I guess my question is "why are you using a catchall field at all"? This
is the kind of thing edismax was designed for, so your qf could just
contain all the fields with appropriate boosts, there aren't that many...

But what you're actually doing will probably work. I think if you're not
seeing DESCRIPTION in your explain, then the terms you're searching
on aren't in that field. But I could well be wrong there...

BTW, do you use this param? If not, it indents things much easier.
debug.explain.structured=true

Best
Erick


On Thu, Mar 29, 2012 at 4:05 AM, elisabeth benoit
<el...@gmail.com> wrote:
> Hi all,
>
> I'm using solr 3.4 with a catchall field and an edismaw request handler.
> I'd like to score higher answers matching with words not contained in one
> of the fields copied into my catchall field.
>
> So my catchallfield is called catchall. It contains, let's say, fields
> NAME, CATEGORY, TOWN, WAY and DESCRIPTION.
>
> For one query, I would like to have answers matching NAME, CATEGORY, TOWN
> and WAY scored higher, but I still want to search in DESCRIPTION.
>
> I tried
>
> qf=catchall DESCRIPTION^0.001,
>
> but this doesn't seem to change the scoring. When I set debutQuery=on,
> parsedquery_toString looks like
>
> (text:paus | DESCRIPTION:pause^0.001) (this seems like an OR to me)
>
> but I see no trace of DESCRIPTION in explain
>
> One solution I guess would be to keep DESCRIPTION in a separate filed, and
> do not include it in my catchall field. But I wonder if there is a solution
> with the catchall field???
>
> Thanks for your help,
> Elisabeth

Re: disadvantage one field in a catchall field

Posted by Gora Mohanty <go...@mimirtech.com>.
On 29 March 2012 13:35, elisabeth benoit <el...@gmail.com> wrote:
> Hi all,
>
> I'm using solr 3.4 with a catchall field and an edismaw request handler.
> I'd like to score higher answers matching with words not contained in one
> of the fields copied into my catchall field.
>
> So my catchallfield is called catchall. It contains, let's say, fields
> NAME, CATEGORY, TOWN, WAY and DESCRIPTION.
>
> For one query, I would like to have answers matching NAME, CATEGORY, TOWN
> and WAY scored higher, but I still want to search in DESCRIPTION.
>
> I tried
>
> qf=catchall DESCRIPTION^0.001,
[...]

As far as I know, this is not possible. Once the fields are copied
to a catch-all field, they are indistinguishable. Your only option is
to have a separate DESCRIPTION field if you want to down-boost
it.

Regards,
Gora