Michał Słomkowski created LUCENE-9524:
-----------------------------------------

             Summary: NullPointerException in IndexSearcher.explain() when 
using ComplexPhraseQueryParser
                 Key: LUCENE-9524
                 URL: https://issues.apache.org/jira/browse/LUCENE-9524
             Project: Lucene - Core
          Issue Type: Bug
          Components: core/queryparser, core/search
    Affects Versions: 8.6.2, 8.6
            Reporter: Michał Słomkowski


I get NPE when I use {{IndexSearcher.explain()}}. Checked with Lucene 8.6.0
and 8.6.2.

The query: {{(lorem AND NOT "dolor lorem") OR ipsum}}
The text: {{dolor lorem ipsum}}

Stack trace:

{code}
java.lang.NullPointerException at 
java.util.Objects.requireNonNull(Objects.java:203)
        at org.apache.lucene.search.LeafSimScorer.<init>(LeafSimScorer.java:38)
        at 
org.apache.lucene.search.spans.SpanWeight.explain(SpanWeight.java:160)
        at org.apache.lucene.search.BooleanWeight.explain(BooleanWeight.java:87)
        at org.apache.lucene.search.BooleanWeight.explain(BooleanWeight.java:87)
        at 
org.apache.lucene.search.IndexSearcher.explain(IndexSearcher.java:716)
        at 
org.apache.lucene.search.IndexSearcher.explain(IndexSearcher.java:693)
{code}


Minimal example code:


{code:java}
val analyzer = new StandardAnalyzer();
val query = new ComplexPhraseQueryParser("", analyzer).parse(queryString);

final MemoryIndex memoryIndex = new MemoryIndex(true);
memoryIndex.addField("", text, analyzer);

final IndexSearcher searcher = memoryIndex.createSearcher();
final TopDocs topDocs = searcher.search(query, 1);

final ScoreDoc match = topDocs.scoreDocs[0];

searcher.explain(query, match.doc);
{code}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to