You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Shai Erera (JIRA)" <ji...@apache.org> on 2011/01/25 17:06:43 UTC

[jira] Closed: (LUCENE-1155) BoostingTermQuery#defaultTermBoost

     [ https://issues.apache.org/jira/browse/LUCENE-1155?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shai Erera closed LUCENE-1155.
------------------------------

    Resolution: Won't Fix

We don't have BoostingTermQuery anymore, and there was never consensus here to fix it within Lucene, vs. e.g. the workarounds Grant proposed. Given that, and the fact that the issue is inactive since Sep-2008, and that today we give enough API for someone to write this sort of capability in his application, I'm closing the issue.

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