2011-08-24 14 views

Respuesta

0

Neo4j es una solución muy buena para gestionar las relaciones entre objetos. Como ya sabrá, estas relaciones pueden tener propiedades, así como también los nodos. Pero creo que no puedes almacenar "una gran cantidad" de datos en estos nodos. Creo que Neo4j estaba destinado a ser utilizado con otra base de datos como MongoDb o incluso mysql. Obtienes "realmente rápido" la información que necesitas por primera vez y luego la buscas usando otro motor. En mis proyectos, almaceno nombres de usuario, nombres, fecha de nacimiento, identificadores y este tipo de información, pero no cadenas de texto muy grandes.

+0

Esto parece pura especulación y contrasta con otras respuestas aquí y en otros lugares. –

+0

De hecho. Al menos eso es lo que sabía en 2011, pero las cosas han cambiado desde entonces. Gracias por señalar eso. –

3

Neo4j se indexa de forma predeterminada con Lucene. Lucene se construyó como una caja de herramientas de búsqueda de texto completo (siendo Solr la implementación del motor de búsqueda de facto). Como Lucene tenía la intención de buscar grandes cantidades de texto, mi sospecha es que puede poner tanto texto en un nodo como desee y funcionará perfectamente.

5

he intentado lo siguiente con la interfaz web Neo4j:

me escribió una línea de 26 caracteres y se duplica a través de 32000 líneas, lo que hace un total de 832000 caracteres.

Creé un nodo con una propiedad "texto" y copié el texto en él, y funcionó perfectamente.

He intentado de nuevo con 64000 líneas con espacios en blanco al final de las líneas, con un total de 1728000 caracteres. Creé un nuevo nodo, luego consulté el nodo y copié el resultado en un archivo para verificar el tamaño (nunca se sabe), y wc me dio 1728001 (supongo que debe haber un error en el proceso de copiar/pegar).

No pareció quejarse.

FYI esto es equivalente a un texto con 345600 palabras de un tamaño promedio de 4 y un espacio (5 caracteres), y un libro de 1000 páginas con 300 palabras por página.

No obstante, no sé cómo podría afectar el rendimiento si hay demasiados nodos. Si no funciona bien debido a esto, siempre podría considerar tener neo4j para almacenar información sobre las relaciones, con un ID de propiedad como id para otra base de datos orientada a documentos para recuperar el texto (o simplemente la ruta de un archivo como ruta propiedad).

Cuestiones relacionadas