lucene-java-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dor...@apache.org
Subject svn commit: r666949 - in /lucene/java/trunk: CHANGES.txt src/java/org/apache/lucene/search/payloads/BoostingTermQuery.java src/test/org/apache/lucene/search/payloads/TestBoostingTermQuery.java
Date Thu, 12 Jun 2008 04:15:12 GMT
Author: doronc
Date: Wed Jun 11 21:15:10 2008
New Revision: 666949

URL: http://svn.apache.org/viewvc?rev=666949&view=rev
Log:
LUCENE-1303: BoostingTermQuery's explanation marked as a Match 
             depending only upon the non-payload part of the score.

Modified:
    lucene/java/trunk/CHANGES.txt
    lucene/java/trunk/src/java/org/apache/lucene/search/payloads/BoostingTermQuery.java
    lucene/java/trunk/src/test/org/apache/lucene/search/payloads/TestBoostingTermQuery.java

Modified: lucene/java/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/java/trunk/CHANGES.txt?rev=666949&r1=666948&r2=666949&view=diff
==============================================================================
--- lucene/java/trunk/CHANGES.txt (original)
+++ lucene/java/trunk/CHANGES.txt Wed Jun 11 21:15:10 2008
@@ -119,6 +119,11 @@
 
 12. LUCENE-1299: Fixed NPE in SpellChecker when IndexReader is not null and field is (Grant
Ingersoll)
 
+13. LUCENE-1303: Fixed BoostingTermQuery's explanation to be marked as a Match 
+    depending only upon the non-payload score part, regardless of the effect of 
+    the payload on the score. Prior to this, score of a query containing a BTQ 
+    differed from its explanation. (Doron Cohen)
+
 New features
 
  1. LUCENE-1137: Added Token.set/getFlags() accessors for passing more information about
a Token through the analysis

Modified: lucene/java/trunk/src/java/org/apache/lucene/search/payloads/BoostingTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/search/payloads/BoostingTermQuery.java?rev=666949&r1=666948&r2=666949&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/search/payloads/BoostingTermQuery.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/search/payloads/BoostingTermQuery.java Wed
Jun 11 21:15:10 2008
@@ -121,7 +121,7 @@
 
 
       public Explanation explain(final int doc) throws IOException {
-        Explanation result = new Explanation();
+        ComplexExplanation result = new ComplexExplanation();
         Explanation nonPayloadExpl = super.explain(doc);
         result.addDetail(nonPayloadExpl);
         //QUESTION: Is there a wau to avoid this skipTo call?  We need to know whether to
load the payload or not
@@ -140,6 +140,7 @@
         payloadBoost.setDescription("scorePayload(...)");
         result.setValue(nonPayloadExpl.getValue() * avgPayloadScore);
         result.setDescription("btq, product of:");
+        result.setMatch(nonPayloadExpl.getValue()==0 ? Boolean.FALSE : Boolean.TRUE); //
LUCENE-1303
         return result;
       }
     }

Modified: lucene/java/trunk/src/test/org/apache/lucene/search/payloads/TestBoostingTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/test/org/apache/lucene/search/payloads/TestBoostingTermQuery.java?rev=666949&r1=666948&r2=666949&view=diff
==============================================================================
--- lucene/java/trunk/src/test/org/apache/lucene/search/payloads/TestBoostingTermQuery.java
(original)
+++ lucene/java/trunk/src/test/org/apache/lucene/search/payloads/TestBoostingTermQuery.java
Wed Jun 11 21:15:10 2008
@@ -92,7 +92,7 @@
     for (int i = 0; i < 1000; i++) {
       Document doc = new Document();
       Field noPayloadField = new Field("noPayLoad", English.intToEnglish(i), Field.Store.YES,
Field.Index.TOKENIZED);
-      noPayloadField.setBoost(0);
+      //noPayloadField.setBoost(0);
       doc.add(noPayloadField);
       doc.add(new Field("field", English.intToEnglish(i), Field.Store.YES, Field.Index.TOKENIZED));
       doc.add(new Field("multiField", English.intToEnglish(i) + "  " + English.intToEnglish(i),
Field.Store.YES, Field.Index.TOKENIZED));
@@ -186,7 +186,7 @@
     query.add(c2);
     TopDocs hits = searcher.search(query, null, 100);
     assertTrue("hits is null and it shouldn't be", hits != null);
-    //assertTrue("hits Size: " + hits.totalHits + " is not: " + 1, hits.totalHits == 1);
+    assertTrue("hits Size: " + hits.totalHits + " is not: " + 1, hits.totalHits == 1);
     int[] results = new int[1];
     results[0] = 0;//hits.scoreDocs[0].doc;
     CheckHits.checkHitCollector(query, "noPayLoad", searcher, results);



Mime
View raw message