[
https://issues.apache.org/jira/browse/LUCENE-1155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12571789#action_12571789
]
Karl Wettin commented on LUCENE-1155:
-------------------------------------
{quote}
I think I am missing something here. If they are all the same, except a few,
why even store a payload for those that are the same? Why not just rely on the
usual term scoring for those and just get the boost from those tokens that
truly need a payload?
{quote}
It might be worth mentioning that I have omitted the norms.
> BoostingTermQuery#defaultTermBoost
> ----------------------------------
>
> Key: LUCENE-1155
> URL: https://issues.apache.org/jira/browse/LUCENE-1155
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Search
> Reporter: Karl Wettin
> Priority: Trivial
>
> This patch allows a null payload to mean something different than 1f.
> (I have this use case where 99% of my tokens share the same rather large
> token position payload boost.)
> {code}
> Index: src/java/org/apache/lucene/search/payloads/BoostingTermQuery.java
> ===================================================================
> --- src/java/org/apache/lucene/search/payloads/BoostingTermQuery.java
> (revision 615215)
> +++ src/java/org/apache/lucene/search/payloads/BoostingTermQuery.java
> (working copy)
> @@ -41,11 +41,16 @@
> */
> public class BoostingTermQuery extends SpanTermQuery{
>
> + private Float defaultTermBoost = null;
>
> public BoostingTermQuery(Term term) {
> super(term);
> }
>
> + public BoostingTermQuery(Term term, Float defaultTermBoost) {
> + super(term);
> + this.defaultTermBoost = defaultTermBoost;
> + }
>
> protected Weight createWeight(Searcher searcher) throws IOException {
> return new BoostingTermWeight(this, searcher);
> @@ -107,7 +112,9 @@
> payload = positions.getPayload(payload, 0);
> payloadScore += similarity.scorePayload(term.field(), payload, 0,
> positions.getPayloadLength());
> payloadsSeen++;
> -
> + } else if (defaultTermBoost != null) {
> + payloadScore += defaultTermBoost;
> + payloadsSeen++;
> } else {
> //zero out the payload?
> }
> @@ -146,7 +153,14 @@
>
> }
>
> + public Float getDefaultTermBoost() {
> + return defaultTermBoost;
> + }
>
> + public void setDefaultTermBoost(Float defaultTermBoost) {
> + this.defaultTermBoost = defaultTermBoost;
> + }
> +
> public boolean equals(Object o) {
> if (!(o instanceof BoostingTermQuery))
> return false;
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]