[
https://issues.apache.org/jira/browse/SOLR-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15403967#comment-15403967
]
David Smiley commented on SOLR-2499:
------------------------------------
bq. (e.g. index the value twice)
Sure, and that's an easy way to do it albeit resulting in a stored-value
potentially very large if you need to repeat tokens a lot. A custom analyzer
(i.e. analysis components generally) would allow you to parse custom syntax
like {{cat|600 feline|100}}. You might take the code for
DelimitedPayloadTokenFilter and modify it substantially to do what we're
talking about here, and not use payloads.
> Index-time boosts for multivalue fields are consolidated
> --------------------------------------------------------
>
> Key: SOLR-2499
> URL: https://issues.apache.org/jira/browse/SOLR-2499
> Project: Solr
> Issue Type: Improvement
> Affects Versions: 3.1, 3.2, 4.0-ALPHA
> Reporter: Neil Hooey
> Labels: boost, multivalue, multivalued
>
> Currently, if you boost a value in a multivalue field during index time, the
> boosts are consolidated for every field, and the individual values are lost.
> So, for example, given a list of photos with a multivalue field "keywords",
> and a boost for a keyword assigned to a photo corresponds to the number of
> times that photo was downloaded after searching for that particular keyword,
> we have documents like this:
> {code}
> photo1: Photo of a cat by itself
> keywords: [ cat:600 feline:100 ]
> => boost total = 700
> photo2: Photo of a cat driving a truck
> keywords: [ cat:100 feline:90 animal:80 truck:1000 ]
> => boost total = 1270
> {code}
> If you search for "cat feline", photo2 will rank higher, since the boost of
> "cat-like" words was consolidated with the "truck" boost anomaly. Whereas
> photo1, which has more downloads for "cat" and "feline", ranks lower with a
> lower consolidated boost, even though the total boost for the relevant
> keywords is higher than for photo1.
> *Intuitively, the boosts should be separate, so only the boosts for the terms
> searched will be counted.*
> Given the current behaviour, you are forced to do one of the following:
> 1. Assemble all of the multi-values into a string, and use payloads in place
> of boosts.
> 2. Use dynamic fields, such as keyword_*, and boost them independently.
> Neither of these solutions are ideal, as using payloads requires writing your
> own BoostingTermQuery, and defining a new dynamic field per multi-value makes
> searching more difficult than with multivalue fields.
> There's a blog entry that describes the current behaviour:
> http://blog.kapilchhabra.com/2008/01/solr-index-time-boost-facts-2
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]