[ https://issues.apache.org/jira/browse/LUCENE-1155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630761#action_12630761 ]
Grant Ingersoll commented on LUCENE-1155: ----------------------------------------- How is that any different than marking the 70% as having a boost ranging between 1/5 = 0.2 and 5/5 = 1 whereby no patch is needed? You still have the same 30% null payloads > 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]