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