使用Lucene处理图形数据

问题描述 投票:5回答:3

是否有使用Lucene处理图形数据的方法?

示例

一个用户与许多lucene文档有关系(文档连接)一个用户与其他用户有关系(用户连接[图形])

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

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

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

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

search graph lucene search-engine
3个回答
3
投票
您可能最好看看这两个阵营中的任何一个:

带有SpringData的Neo4j(单个实例免费)

    OR
  • Tinkerpop蓝图(如果不使用Java / scala,则可能会出错)这些技术之一:

    • 带有Hadoop的Cassandra上的Titan(多主服务器,没有故障点)
    • OrientDb
    • Neo4j
  • 这些数据库是图形数据库。Tinkerpop蓝图是一个允许您抽象特定实现的标准。Springdata当前仅支持针对图技术的neo4j。
  • 如果您集群,Neo4j会花钱(免费许可证仅适用于单个实例。

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

    注意neo4j支持全文搜索。



0
投票
请参阅Apache Jena Fuseki和Jena Text。
© www.soinside.com 2019 - 2024. All rights reserved.