有没有办法使用Lucene处理图形数据?
例
一个用户与许多lucene文档有关系(文档连接)
一个用户与其他用户有关系(用户连接[图表])
如果用户搜索索引,他将获取与其有关系的文档.这很简单直接.
什么是获取用户连接与之关系的文档的方法.
使用user_id字段中与其具有关系的所有用户索引每个文档是一种方法.但是,当您查询索引时,为执行搜索查询大小的用户提供用户连接是不可预测的.想想拥有1000个用户连接的用户.这不会扩展.
这几乎就像存储在Graph DB中的用户连接和用户文档可以轻松地向我们提供要搜索的文档,但是将它传递给Lucene的有效方式是什么,因此它只能针对给定查询搜索这些文档.如果返回任何结果,这将保证至少一个或多个用户连接与结果中返回的文档有关系.
最佳答案 我不相信目前有任何图形技术位于solr或lucene之上.
你可能最好看看这两个阵营中的任何一个:
>带SpringData的Neo4j(单例免费)
要么
> Tinkerpop蓝图(如果不使用java / scala,可能是rexter)
其中一项技术:
> Caanandra上的Titan与Hadoop(多主人,没有失败点)
> OrientDb
> Neo4j
这些数据库是图形数据库.
Tinkerpop蓝图是一种标准,允许您抽象具体实现.
Springdata目前仅支持neo4j用于图形技术.
如果你集群,Neo4j需要花钱(免费许可只是单一实例).
您可以在此处阅读有关solr / lucene的讨论.
http://lucene.472066.n3.nabble.com/indexing-directed-graph-td2949556.html
注意neo4j支持全文搜索.