我们正试图找到由lucene分配给neo4j查询结果的分数。
IndexManager index = graphDb.index();
Index<Node> fulltextMovies = index.forNodes("Restaurant");
QueryContext query = new QueryContext("name:" + term + "*");
TermQuery t = new TermQuery(new Term("name", term + "m*"));
IndexHits<Node> hits = fulltextMovies.query(t);
System.out.println(hits.currentScore());
代码的最后一行始终打印0.0
我们是否必须定义自定义分数才能使其正常工作?根据我的理解,lucene为每个搜索结果分配一个分数。如果是这样,。我应该看到针对我的查询结果的lucene得分。这可能吗?
答案 0 :(得分:0)
只有在使用索引查询中的迭代器时才能使用currentScore()
。举个例子:
try (IndexHits<Node> hits = index.query(t)) {
for (Node node : hits) {
System.out.println(node + " " + hits.currentScore());
}
}