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 Michael Lackhoff <mi...@lackhoff.de> on 2009/11/24 07:58:39 UTC

Re: schema-based Index-time field boosting

On 23.11.2009 19:33 Chris Hostetter wrote:

> ...if there was a way to oost fields at index time that was configured in 
> the schema.xml, then every doc would get that boost on it's instances of 
> those fields but the only purpose of index time boosting is to indicate 
> that one document is more significant then another doc -- if every doc 
> gets the same boost, it becomes a No-OP.
> 
> (think about the math -- field boosts become multipliers in the fieldNorm 
> -- if every doc gets the same multiplier, then there is no net effect)

Coming in a bit late but I would like a variant that is not a No-OP.
Think of something like title:searchstring^10 OR catch_all:searchstring
Of course I can always add the boosting at query time but it would make
life easier if I could define a default boost in the schema so that my
query could just be title:searchstring OR catch_all:searchstring
but still get the boost for the title field.

Thinking this further it would be even better if it was possible to
define one (or more) fallback field(s) with associated boost factor in
the schema. Then it would be enough to query for title:searchstring and
it would be automatically expanded to e.g.
title:searchstring^10 OR title_other_language:searchstring^5 OR
catchall:searchstring
or whatever you define in the schema.

-Michael



Re: schema-based Index-time field boosting

Posted by Chris Hostetter <ho...@fucit.org>.
: Coming in a bit late but I would like a variant that is not a No-OP.
: Think of something like title:searchstring^10 OR catch_all:searchstring
: Of course I can always add the boosting at query time but it would make
: life easier if I could define a default boost in the schema so that my
: query could just be title:searchstring OR catch_all:searchstring
: but still get the boost for the title field.

That would be a query time boost -- not an index time boost.  An index 
time boost is a very specific concept that refers to increaseing the 
fieldNorm of a field in a specific document.

What you are describing would be a query time boost, in which solr knows 
that certain query clauses should be worth more.  You can 
already do esentailly this exact same thing using the dismax parser, but i 
suppose it would also be possible to modify the LuceneQParser so that it 
could take in configuration that would tell it to apply different default 
query boosts to different fields.



-Hoss