2011-08-24 9 views

Odpowiedz

0

Neo4j to bardzo ładne rozwiązanie do zarządzania relacjami między obiektami. Jak już wiesz, te relacje mogą mieć właściwości, a także same węzły. Ale myślę, że nie można przechowywać "dużego kawałka" danych na temat tych węzłów. Myślę, że Neo4j miał być używany z inną bazą danych, taką jak MongoDb lub nawet mysql. Dostajesz "naprawdę szybko" informacje, których potrzebujesz, a następnie szukasz ich za pomocą innego silnika. W moich projektach przechowuję nazwy użytkowników, imiona, daty urodzenia, identyfikatory i informacje tego rodzaju, ale niezbyt duże ciągi tekstowe.

+0

To wydaje się czystą spekulacją i stoi w jaskrawym kontraście z innymi odpowiedziami tutaj i gdzie indziej. –

+0

Rzeczywiście. Przynajmniej to jest to, co wiedziałem w 2011 roku, ale od tego czasu wszystko się zmieniło. Dziękuję za wskazanie tego. –

3

Neo4j jest domyślnie indeksowany przy użyciu Lucene. Lucene został zbudowany jako zestaw narzędzi do wyszukiwania pełnotekstowego (z Solr będącym de facto implementacją wyszukiwarki). Ponieważ Lucene miał przeszukiwać duże ilości tekstu, podejrzewam, że możesz umieścić tyle tekstu w węźle, ile chcesz i wszystko będzie działać poprawnie.

5

Właśnie próbowałem następujące z interfejsem neo4j internetowej:

napisałem wiersz 26 znaków i powielane go przez 32000 linii, co sprawia, że ​​w sumie 832000 znaków.

Utworzono węzeł z właściwością "tekst" i skopiowałem do niego mój tekst, który działał idealnie.

Próbowałem ponownie z 64000 linii z białymi znakami na końcu linii, łącznie 1728000 znaków. Utworzono nowy węzeł, następnie przeszukałem węzeł i skopiowałem wynik z powrotem do pliku, aby sprawdzić rozmiar (nigdy nie wiadomo), a wc dało mi 1728001 (ten musi być błędem w procesie kopiowania/wklejania, który przypuszczam).

Nie wydawało się narzekać.

FYI to odpowiednik tekstu o 345600 słów o średniej wielkości 4 i spacji (5 znaków) oraz książka o 1000 stronach z 300 słowami na stronę.

Nie wiem jednak, jak może to wpłynąć na wydajność, jeśli jest za dużo węzłów. Jeśli to nie działa dobrze z tego powodu, zawsze możesz rozważyć posiadanie neo4j do przechowywania informacji o relacjach, z identyfikatorem właściwości jako identyfikatorem dla innej bazy danych zorientowanej na dokumenty w celu pobrania tekstu (lub po prostu ścieżka pliku jako ścieżka własność).

Powiązane problemy