MarcusSorealheis commented on code in PR #12208:
URL: https://github.com/apache/lucene/pull/12208#discussion_r1158142961


##########
lucene/sandbox/src/test/org/apache/lucene/sandbox/search/TestTermAutomatonQuery.java:
##########
@@ -842,6 +844,95 @@ public void testRewriteSimplePhrase() throws Exception {
     IOUtils.close(w, r, dir);
   }
 
+  public void testExplainNonMatchingDocument() throws Exception {
+    TermAutomatonQuery q = new TermAutomatonQuery("field");
+    int initState = q.createState();
+    int s1 = q.createState();
+    int s2 = q.createState();
+    q.addTransition(initState, s1, "xml");
+    q.addTransition(s1, s2, "json");
+    q.setAccept(s2, true);
+    q.finish();
+
+    Directory dir = newDirectory();
+    RandomIndexWriter w = new RandomIndexWriter(random(), dir);
+    Document doc = new Document();
+    doc.add(newTextField("field", "protobuf", Field.Store.NO));
+    w.addDocument(doc);
+
+    IndexReader r = w.getReader();
+    IndexSearcher searcher = newSearcher(r);
+    Query rewrite = q.rewrite(searcher);
+    assertTrue(rewrite instanceof PhraseQuery);
+
+    TopDocs topDocs = searcher.search(rewrite, 10);
+    assertEquals(0, topDocs.totalHits.value);
+
+    for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
+      Explanation explanation = searcher.explain(rewrite, scoreDoc.doc);
+      assertNotNull("Explanation should not be null", explanation);
+      assertTrue(
+          "Explanation score should match the actual score",
+          Float.compare(scoreDoc.score, (Float) explanation.getValue()) == 0);
+    }
+
+    IOUtils.close(w, r, dir);
+  }
+
+  // TODO: improve experience of working with explain
+

Review Comment:
   Fixed in: 
[f91ef20](https://github.com/apache/lucene/pull/12208/commits/f91ef20e5ea706b00c3bf438d9d0b937c146d747)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to