neo4j lucene得分总是0.0

时间:2015-03-24 11:00:36

标签: java lucene neo4j

我们正试图找到由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得分。这可能吗?

1 个答案:

答案 0 :(得分:0)

只有在使用索引查询中的迭代器时才能使用currentScore()。举个例子:

try (IndexHits<Node> hits = index.query(t)) {
    for (Node node : hits) {
        System.out.println(node + " " + hits.currentScore());
    }
}