2017-05-05 41 views
0

我已經使用Lucene的全文功能對Neo4j中的書籍節點的title屬性進行了索引。 當我想要的所有節點標題來搜索特定的詞(如wars),我可以做到以下幾點:檢索Neo4j Lucene每個文檔的分數,而不僅僅是訂單

 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,而不僅僅是IDS。

謝謝。

回答

1

您可以使用以下方法:

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

謝謝!是否有恆定的時間方法來檢索評分給定的術語和文檔ID?例如'(戰爭,id1)= 2'? – kami

相關問題