[ https://issues.apache.org/jira/browse/LUCENE-1155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630655#action_12630655 ]
Grant Ingersoll commented on LUCENE-1155: ----------------------------------------- Sorry, I still don't get it, but I'm probably dense. Maybe an actual example would help. Next, it incs payloadsSeen when it hasn't, in fact, seen a payload. That seems weird. Second, why not just scale the results from 1 to 5 to be between 0 and 1 (and possibly just call Query.setBoost(5))? That is, for the 1% of positions, make it range between 0.9 and 0.1 (or whatever). That being said, I suppose it doesn't hurt, but it just seems confusing. If anything, I would rename the variable something like nullPayloadBoost or something else, as I think defaultTermBoost implies it's the default boost applied when there is a payload, but the boost isn't specified, which doesn't make sense either. > 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]