Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nosql 在Neo4j中,每个节点可以存储多少数据_Nosql_Neo4j - Fatal编程技术网

Nosql 在Neo4j中,每个节点可以存储多少数据

Nosql 在Neo4j中,每个节点可以存储多少数据,nosql,neo4j,Nosql,Neo4j,我需要在Neo4j节点中保存大量Unicode文本字符串。文档中没有提到每个节点可以存储的数据大小 有人知道吗?Neo4j是管理对象之间关系的非常好的解决方案。您可能已经知道,这些关系可以具有属性,也可以具有节点本身。但我认为你不能在这些节点上存储“一大块”数据。我认为Neo4j是打算与另一个数据库一起使用的,比如MongoDb甚至mysql。您可以“非常快地”获得您首先需要的信息,然后使用另一个引擎进行查找。在我的项目中,我存储用户名、姓名、出生日期、ID和此类信息,但不存储非常大的文本字符串

我需要在Neo4j节点中保存大量Unicode文本字符串。文档中没有提到每个节点可以存储的数据大小


有人知道吗?

Neo4j是管理对象之间关系的非常好的解决方案。您可能已经知道,这些关系可以具有属性,也可以具有节点本身。但我认为你不能在这些节点上存储“一大块”数据。我认为Neo4j是打算与另一个数据库一起使用的,比如MongoDb甚至mysql。您可以“非常快地”获得您首先需要的信息,然后使用另一个引擎进行查找。在我的项目中,我存储用户名、姓名、出生日期、ID和此类信息,但不存储非常大的文本字符串。

Neo4j默认使用Lucene编制索引。Lucene是作为全文搜索工具箱构建的(Solr是事实上的搜索引擎实现)。由于Lucene旨在搜索大量文本,我的怀疑是,您可以将任意多的文本放入节点中,这样就可以正常工作。

我刚刚在neo4j web界面上尝试了以下方法:

我写了一行26个字符,复制了32000行,总共832000个字符

我用属性“text”创建了一个节点,并在其中复制了我的文本,它工作得非常好

我再次尝试了64000行,行尾有空格,总共1728000个字符。创建了一个新节点,然后查询该节点并将结果复制回一个文件中以检查大小(您永远不知道),wc给了我1728001(我想这一定是复制/粘贴过程中的错误)

它似乎没有抱怨

仅供参考,这相当于一本平均大小为4个空格(5个字符)的345600字的文本,以及一本1000页、每页300字的书


但是,如果节点太多,我不知道这会如何影响性能。如果因为这个原因,它不能很好地工作,你可以总是考虑用NeN4J来存储关于关系的信息,用属性ID作为另一个面向文档的数据库的ID来检索文本(或者简单地将文件的路径作为路径属性)。在你的情况下?这看起来像是纯粹的猜测,与这里和其他地方的其他答案形成了鲜明的对比。至少在2011年我就知道了这一点,但从那以后情况发生了变化。谢谢你指出这一点。