当使用String.format()打印命中时,Lucene(线程)静静地退出

时间:2011-10-07 13:57:12

标签: java lucene


我正在使用Lucene 3.0.3 / Java 1.6并在WhitespaceAnalyzer的帮助下创建了这样的索引(每个文档):

doc.add(new Field("sentence", line, Field.Store.YES, Field.Index.NOT_ANALYZED, Field.TermVector.NO));
doc.add(new Field("sentence-lc", line.toLowerCase(), Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.NO));

现在我想使用相同的分析器查询索引:

Query query = parser.parse("+sentence-lc:\"" + QueryParser.escape(subjectLabel) + "\" && +sentence-lc:\"" + QueryParser.escape(objectLabel) + "\"");
ScoreDocs[] hits = indexSearcher.search(query, null, MAX_NUMBER_OF_DOCUMENTS).scoreDocs;

这样可以正常工作,但如果我想打印出这样的已找到文件的数量:

System.out.println(String.format("subject: '%s' and object: '%' returned %s index hits!", subjectLabel, objectLabel, hits.length));

运行索引搜索的线程在没有任何消息/异常的情况下被杀死/完成。这是我的错误,java还是lucene?

亲切的问候,
丹尼尔

0 个答案:

没有答案