我有一个我想要工作的项目,我认为这是Neo4j的一个漂亮的案例。但是有一些关于实现这个问题的方面,我不太明白,我可以简洁地列出我的问题。相反,我会让场景说明一切:
场景:简单来说,我想构建一个应用程序,允许用户接收各种类型的文件,例如docs,excel,word,images,audio clip甚至视频 - 尽管不是如此多的视频,并允许他们上传和分类这些。
每个文件都会输入任何和所有关联。示例:
依旧......
因此,此时的基本目标是:
这个项目的价值在于协会,实际上它会比上面的例子复杂得多,并且应该产生有趣的结论。然而。如果用户被问到“你是如何得出这个结论的”,他们需要能够产生关联的摘要以及这些关联所基于的任何文件 - 即PDF或EXCEL或其他任何文件。
我还应该补充一点,这个应用程序将在内部托管,并且可能被大约50个用户使用,因此我可能不需要超级,快速,可扩展,高可用性的解决方案。加载的数据可能会变得相当大,一年可能高达1TB? (不是关联,而是实际文件)
如果Neo4J完成所有这一切,那不是很好吗!显然它应该很好地处理这方面的图形方面,但我认为文件存储和文本搜索将需要添加到混合中的另一个播放器。
我所知道的解决方案的一些组合将是:
在Neo4J中存储包含二进制文件的所有内容。
将摔跤Neo4J的东西不是为它而建的。 我该如何搜索文字?
仅存储Neo4J中的关联和元数据以及文件系统上传的文件。
如何对存储在文件服务器上的文件进行文本搜索?
仅存储Neo4J中的关联和元数据以及Postgres中的上传文件。
对于将所有文件都放在DB中并不那么自信。感觉更舒适,可以在文件夹中访问我的所有文件。
每个人都说将文件放入数据库非常棒。每个人都说将文件放在数据库中并不好。
请详细说明如何实施您的建议,即:
如何将这些联系在一起可能是我真正想要掌握的。
非常感谢您对此的任何意见。
干杯。
P.S。真是漫无边际!如果您觉得需要编辑我的问题或标题以简化,那就去吧! :)
答案 0 :(得分:0)
以下是我的建议:
建议堆栈:
奖励:有关使用ES以多种格式索引文件的最佳做法,请参阅this SO question/answer。