使用Lucene处理图形数据

use*_*571 5 lucene search search-engine graph

有没有办法使用Lucene处理图形数据?

一位用户与许多lucene文档有关系(文档连接)一位用户与其他用户有关系(User Connections [Graph])

如果用户搜索索引,则他将获取与其有关系的文档。这很简单明了。

如何找回与用户连接有关系的文档。

一种方法是在user_id字段中为所有与之有关系的用户建立索引。但是,当您查询索引时,无法为执行搜索查询大小的用户提供用户连接。考虑具有1000个用户连接的用户。这不会扩展。

这几乎就像存储在图形数据库中的“用户连接”和“用户文档”可以轻松地向我们提供要搜索的文档一样,但是与Lucene交流的有效方法是什么,因此它只能针对给定查询针对那些文档进行搜索。如果返回任何结果,这将确保至少一个或多个用户连接与结果中返回的文档有关系。

Jas*_*onG 3

我不相信目前有任何基于 solr 或 lucene 的图形技术。

您可能最好看看这两个阵营之一:

  • Neo4j 与 SpringData(单实例免费)

或者

  • 基于以下技术之一的 Tinkerpop 蓝图(如果不使用 java/scala,可能是 rexter):
  • Cassandra 上的 Titan 与 Hadoop(多主机,无故障点)
  • 东方数据库
  • 新4j

这些数据库是图数据库。Tinkerpop Blueprints 是一个标准,允许您抽象具体的实现。Springdata 目前仅支持 Neo4j 的图形技术。

如果您进行集群,Neo4j 需要花钱(免费许可证仅限单个实例)。

您可以在此处阅读有关 solr/lucene 与绘图的讨论。 http://lucene.472066.n3.nabble.com/indexing-directed-graph-td2949556.html

注意 neo4j 支持全文搜索。