You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by mh...@apache.org on 2005/09/06 22:20:13 UTC
svn commit: r279088 - in
/lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight:
QueryScorer.java SimpleHTMLEncoder.java
Author: mharwood
Date: Tue Sep 6 13:19:50 2005
New Revision: 279088
URL: http://svn.apache.org/viewcvs?rev=279088&view=rev
Log:
Added fix to QueryScorer - if a query has multiple WeightedTerms with different weights for the same term the highest weight is used for scoring that term (previously selected last weight in list)
SimpleHTMLEncoder now encodes characters outside of ASCII range as character entities as per suggestion here: http://issues.apache.org/bugzilla/show_bug.cgi?id=36333
Modified:
lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java
lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLEncoder.java
Modified: lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java
URL: http://svn.apache.org/viewcvs/lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java?rev=279088&r1=279087&r2=279088&view=diff
==============================================================================
--- lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java (original)
+++ lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/QueryScorer.java Tue Sep 6 13:19:50 2005
@@ -67,8 +67,13 @@
termsToFind = new HashMap();
for (int i = 0; i < weightedTerms.length; i++)
{
- termsToFind.put(weightedTerms[i].term,weightedTerms[i]);
- maxTermWeight=Math.max(maxTermWeight,weightedTerms[i].getWeight());
+ WeightedTerm existingTerm=(WeightedTerm) termsToFind.get(weightedTerms[i].term);
+ if( (existingTerm==null) ||(existingTerm.weight<weightedTerms[i].weight) )
+ {
+ //if a term is defined more than once, always use the highest scoring weight
+ termsToFind.put(weightedTerms[i].term,weightedTerms[i]);
+ maxTermWeight=Math.max(maxTermWeight,weightedTerms[i].getWeight());
+ }
}
}
Modified: lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLEncoder.java
URL: http://svn.apache.org/viewcvs/lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLEncoder.java?rev=279088&r1=279087&r2=279088&view=diff
==============================================================================
--- lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLEncoder.java (original)
+++ lucene/java/trunk/contrib/highlighter/src/java/org/apache/lucene/search/highlight/SimpleHTMLEncoder.java Tue Sep 6 13:19:50 2005
@@ -66,7 +66,14 @@
break;
default:
- result.append(ch);
+ if (ch < 128)
+ {
+ result.append(ch);
+ }
+ else
+ {
+ result.append("&#").append((int)ch).append(";");
+ }
}
}