2011-08-24 30 views

Trả lời

0

Neo4j là một giải pháp rất tốt để quản lý mối quan hệ giữa các đối tượng. Như bạn đã biết, các mối quan hệ này có thể có các thuộc tính cũng như các nút. Nhưng tôi nghĩ bạn không thể lưu trữ "một đoạn lớn" dữ liệu trên các nút này. Tôi nghĩ Neo4j được dự định sẽ được sử dụng với một cơ sở dữ liệu khác như MongoDb hoặc thậm chí mysql. Bạn nhận được thông tin "thực sự nhanh" trước tiên bạn cần và sau đó tìm kiếm thông tin đó bằng cách sử dụng một công cụ khác. Trên các dự án của tôi, tôi lưu trữ tên người dùng, tên, ngày sinh, id và các loại thông tin này, nhưng không phải là chuỗi văn bản rất lớn.

+0

Điều này có vẻ như đầu cơ thuần túy và tương phản hoàn toàn với các câu trả lời khác ở đây và ở nơi khác. –

+0

Thật vậy. Ít nhất đó là những gì tôi biết vào năm 2011 nhưng mọi thứ đã thay đổi kể từ đó. Cảm ơn bạn đã chỉ ra điều đó. –

3

Neo4j theo mặc định được lập chỉ mục bằng Lucene. Lucene được xây dựng như một hộp công cụ tìm kiếm văn bản đầy đủ (với Solr là việc triển khai công cụ tìm kiếm thực tế). Vì Lucene định tìm kiếm một lượng lớn văn bản, sự nghi ngờ của tôi là bạn có thể đặt nhiều văn bản vào một nút như bạn muốn và nó sẽ hoạt động tốt.

5

Tôi chỉ cố gắng sau với giao diện neo4j web:

Tôi đã viết một dòng 26 ký tự và sao chép nó qua 32000 dòng, mà làm cho tổng cộng 832.000 nhân vật.

Tôi đã tạo một nút có thuộc tính "văn bản" và đã sao chép văn bản của tôi trong đó và nó hoạt động hoàn hảo.

Tôi đã thử lại với 64000 dòng có khoảng trắng ở cuối dòng, với tổng số 1728000 ký tự. Đã tạo một nút mới, sau đó truy vấn nút và sao chép kết quả trở lại trong tệp để kiểm tra kích thước (bạn không bao giờ biết) và wc đã cho tôi 1728001 (lỗi này phải là lỗi trong quá trình sao chép/dán).

Dường như không có khiếu nại.

FYI điều này tương đương với văn bản có 345600 từ có kích thước trung bình là 4 và khoảng trắng (5 ký tự) và 1000 trang với 300 từ mỗi trang.

Tôi không biết điều này có thể ảnh hưởng như thế nào đến hiệu suất nếu có quá nhiều nút. Nếu nó không hoạt động tốt vì điều này, bạn luôn có thể xem xét việc neo4j để lưu trữ thông tin về các mối quan hệ, với ID thuộc tính làm id cho một cơ sở dữ liệu hướng tài liệu khác để truy xuất văn bản (hoặc đơn giản là đường dẫn của tệp dưới dạng đường dẫn bất động sản).

Các vấn đề liên quan