2012-11-20 60 views
0

按照Neo4j的文檔,索引可以做到I 2種方式」它的NodeJS索引方法更好

索引中的Neo4j可以以兩種不同方式進行: 1.數據庫本身是天然的索引例如一棵樹 結構可以分層在數據之上並用於索引查找 由一個遍歷器執行 2.可以使用獨立的索引引擎,Apache Lucene是Apache默認 Neo4j附帶的後端

但是沒有比較哪個更好,哪些情況更好。

哪一個更好?爲什麼?

+0

據我瞭解的文檔,「自然指數」意味着所有的關係類型都存儲在不同的位置 - 因此,當您在查詢中使用KNOWS類型的關係時,數據庫引擎只能看到KNOWS位置並拿起它裏面的所有資源(暱稱默認爲自然索引本身)。其次是一個典型的用戶定義索引(我使用這些關係參數,而不是類型)。哪一個更好?好吧,第一個選擇比較快,但之後你必須比較所有選取的關係,直到你的決賽,總是比較慢。 – ulkas

回答

0

這是數據倉庫/集市或報告數據庫嗎?如果你有交易和搜索都違背數據庫,它可能會提供有趣的優點或缺點。

Lucene存在一個原因搜索,它確實很好。如果您擁有一個擁有多個服務的大型系統,爲了實現最佳的可擴展性,它總是將服務分開並讓他們履行其單一責任。這會讓你靈活地使用Lucene索引來對付其他服務(如果有必要的話)......同樣,如果你已經擺脫了neo4j,那麼你仍然有你的索引/搜索工件,而不是耦合到Neo4j。

我會從整個系統架構來看它,而不僅僅是特定的功能。