过滤查询的Java Lucene IndexSearcher.explain
给定Lucene过滤查询的Java Lucene IndexSearcher.explain,java,lucene,lucene-filters,Java,Lucene,Lucene Filters,给定LuceneQuery查询,我可以通过调用以下命令来解释结果和评分: TopDocs results = searcher.search(query, 10); ScoreDoc[] hits = results.scoreDocs; searcher.explain(query, hits[idx].doc); TopDocs results = searcher.search(query, filter, 10); 太好了 过滤查询是否有等效项 如果我插入一个org.apache.
Query查询
,我可以通过调用以下命令来解释结果和评分:
TopDocs results = searcher.search(query, 10);
ScoreDoc[] hits = results.scoreDocs;
searcher.explain(query, hits[idx].doc);
TopDocs results = searcher.search(query, filter, 10);
太好了
过滤查询是否有等效项
如果我插入一个org.apache.lucene.search.Filter过滤器,如下所示:
TopDocs results = searcher.search(query, 10);
ScoreDoc[] hits = results.scoreDocs;
searcher.explain(query, hits[idx].doc);
TopDocs results = searcher.search(query, filter, 10);
我如何解释上述查询的结果?想想你想要实现的目标。当您要求解释某个特定文档时,您使用的是搜索查询和文档ID。筛选器与解释无关,,因为它只是通过删除与提供的筛选器不匹配的文档,而不是通过更改实际查询来缩小总点击量。总之,过滤器不会影响对特定文档执行的查询的实际解释。见下文:
TopDocs results = searcher.search(query, filter, 10); // Apply filter here.
ScoreDoc[] hits = results.scoreDocs;
for(ScoreDoc hit : hits)
{
searcher.explain(query, hit.doc); // Filter won't affect this either way.
}