Java 这是Lucene 4.1中已知的PerfiedPostingsFormat错误还是用户错误

Java 这是Lucene 4.1中已知的PerfiedPostingsFormat错误还是用户错误,java,lucene,Java,Lucene,这是Lucene 4.1.0错误还是用户错误,我假设是错误,因为用户coe刚刚将搜索传递给Lucene,但我在JIRA中找不到任何东西 java.lang.NullPointerException at java.util.TreeMap.getEntry(TreeMap.java:342) at java.util.TreeMap.get(TreeMap.java:273) at org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$

这是Lucene 4.1.0错误还是用户错误,我假设是错误,因为用户coe刚刚将搜索传递给Lucene,但我在JIRA中找不到任何东西

java.lang.NullPointerException
at java.util.TreeMap.getEntry(TreeMap.java:342)
at java.util.TreeMap.get(TreeMap.java:273)
at org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader.terms(PerFieldPostingsFormat.java:215)
at org.apache.lucene.search.TermCollectingRewrite.collectTerms(TermCollectingRewrite.java:58)
at org.apache.lucene.search.ConstantScoreAutoRewrite.rewrite(ConstantScoreAutoRewrite.java:95)
at org.apache.lucene.search.MultiTermQuery$ConstantScoreAutoRewrite.rewrite(MultiTermQuery.java:220)
at org.apache.lucene.search.MultiTermQuery.rewrite(MultiTermQuery.java:286)
at org.apache.lucene.search.BooleanQuery.rewrite(BooleanQuery.java:429)
at org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:616)
at org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:663)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:281)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:269)
at org.musicbrainz.search.servlet.AbstractSearchServer.search(AbstractSearchServer.java:190)
at org.musicbrainz.search.servlet.AbstractSearchServer.search(AbstractSearchServer.java:172)
at org.musicbrainz.search.servlet.SearchServerServlet.doSearch(SearchServerServlet.java:616)
at org.musicbrainz.search.servlet.SearchServerServlet.doGet(SearchServerServlet.java:551)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:618) 

该问题是由用户构造的无效查询导致的,该查询没有考虑到“/”现在用于正则表达式,multifiedQueryParser.parse应拒绝此查询,但不会拒绝,这将导致实际运行查询时出现NullPointerException

提出的问题


当用户解析一个查询字符串时,可能会发生这种情况,他使用/作为一个文本,但没有像形成正则表达式那样转义,Lucene现在使用它来表示正则表达式,但没有使用它