检索每个文档Neo4j Lucene的分数,而不仅仅是订单

时间:2017-05-05 06:51:35

标签: java neo4j lucene full-text-search cypher

我使用Lucene的全文功能索引了Neo4j中书籍节点的title属性。 当我想在所有节点的标题中搜索特定术语(如wars)时,我可以执行以下操作:

     IndexHits<Node> nodes = graphDb.index().forNodes("node_auto_index").query("title:wars");
     for (Node n : nodes) {
        //do something
     }
     nodes.close();

这将返回按Lucene维护的某些频率分数排序的节点。

我想知道结果中每个节点的实际得分。例如,如果索引内部如下所示:

wars -> id8:4, id3:3, id1:2

我想返回相应的分数4,3和1,而不仅仅是ID。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

IndexHits<Node> hits = graphDb.index().forNodes("node_auto_index").query("title:wars");
while (hits.hasNext()) {
  Node node = hits.next();
  float weight = hits.currentScore();
}