2016-07-24 56 views
1

我已經用Cypher創建了100萬個節點,但是在創建這些節點期間,我忘記插入INDEX ON來創建索引。在現有節點上創建索引 - Neo4J

現在,我該如何爲所有節點創建索引? 我試着用CREATE INDEX ON :user(userID)和我收到此消息:Added 1 index, statement executed in 32 ms.

但我希望得到一個消息說"Added 1000000 indexes ... ",因爲我有節點1萬元,user標籤和UserID財產。

回答

2

當您執行CREATE INDEX時,您只能創建一個索引。百萬條目將成爲該索引內的事物。

Cypher索引建立在後臺;所以當這個命令成功執行時,這意味着索引在那裏,但它可能直到一段時間後才被完全構建。

See this blog post更多的細節,特別是這部分:

您創建CREATE INDEX ON架構指數:標籤(屬性)如CREATE INDEX ON:Person(name)。

您使用瀏覽器中的schema或shell中的模式列出可用模式索引(和約束)及其狀態(POPULATING,ONLINE,FAILED)。

請務必確保您的操作中要使用的索引和約束條件爲ONLINE,否則將不會使用它們,並且查詢速度會很慢。

我的猜測是在執行CREATE INDEX之後,如果要檢查索引的狀態,可以在POPULATING狀態下找到它。