lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Wettin (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1155) BoostingTermQuery#defaultTermBoost
Date Sat, 23 Feb 2008 22:24:21 GMT

    [ 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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message