使用neo4j图搜索文件内容的最佳方式

时间:2013-06-09 20:03:51

标签: neo4j tinkerpop rexster

我有一个应用程序(除其他外)在neo4j图中存储文件系统树。也就是说每个目录和文件都是一个节点。 其中一些文件是Office文档,文本或pdf文件,我想提供一些搜索功能。

搜索功能应扫描节点属性和文件内容并返回最相关的节点。

-------------------------------------------- ------

更新以获取更多信息:

该图表允许过滤掉文件的子集。文件节点还包含需要搜索的自定义元数据。 许多应用程序之一是:

用户搜索“术语”>使用图形查找此搜索适用的文件(例如,取决于用户组和权限),然后搜索节点属性中的“术语”和文件内容>返回最相关的结果。

可能某些文件可能由于某种原因而链接到其他文件,并且这些文件也应该被搜索但优先级较低(“术语”命中应理解为小于初始文件的命中)

真实生活案例的复杂程度是十倍,所以我不能替代/删除图形DB的使用,或者DB的影响导致结果相关性。

-------------------------------------------- ------

我的问题是:

  1. 实现这个的最佳方法是什么?
  2. 我应该提取文件内容并将它们放在每个节点的索引属性中吗?
  3. 这样做的缺点是什么?
  4. 有没有更好的方法可以解决这个问题?
  5. 先谢谢你们。

    进一步详情:

    • PHP网络应用程序
    • 使用Rexster加载和访问neo4j图
    • 查询语言= gremlin(groovy)

1 个答案:

答案 0 :(得分:2)

如果您想要进行文件内容扫描,最好选择另一个数据存储 作为文件内容 。 Neo4j非常适合搜索文件名和目录结构等内容,但我相信你正在谈论进行字节数组扫描,并且有更好的系统可供选择。