这一直让我困惑,我似乎无法在任何地方找到合适的解释。
如果我运行使用 Query API 构建的查询,它运行得非常好。
TermQuery sourceQuery = new TermQuery(new Term("source", "CNN"));
运行results = searcher.search(sourceQuery, 30)
和检查results.totalHits
显示我的值为 159。
但是,在同一个程序中,我设置了一个QueryParser
(我的默认字段称为text
):
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_35);
QueryParser parser = new QueryParser(Version.LUCENE_35,
"text", analyzer);
并输入命令行查询
source:CNN
我没有得到任何结果。在Luke 上运行这个命令确实给了我一个结果。有谁知道发生了什么?