2011-11-16 71 views
3

我想在neo4j的一个索引属性中存储多个值Lucene索引(例如,在Neo4j的单一属性中存储多个值Lucene索引

IndexName: profile 

property- Education: "Stanford University, Grad School", "Harvard University, MS" 
property- Work: "Nokia Siemens Networks", "Motorola" 

搜索也应该适用于所有情况类似andor

我们可以用Solr做这样的事情,将属性设置为多值属性。我不确定neo4j + Lucene。

回答

8

您可以将String []数组值添加到索引(就像使用节点/关系一样),它会分别索引数组中的每个项目,我认为这将解决您的问题。

 
    Index myIndex = graphDb.index().forNodes("profile"); 
    myIndex.add(myNode, "Education", new String[] {"Stanford University, Grad School", "Harvard University, MS"}); 
    myIndex.add(myNode, "Work", new String[] {"Nokia Siemens Networks", "Motorola"}); 
    // Query for it (remember the quote escaping) 
    myIndex.query("Education:\"Stanford University, Grad School\" AND Work:Motorola"); 

这应该做到这一点。

+0

谢谢你的回答!花了我一些时间来找到这个线程,并找出它..它存在于Neo4j文档?我没有找到任何东西! – TekTimmy