Как удалить все индексы в neo4j? - PullRequest
0 голосов
/ 01 октября 2018

Я хочу удалить все индексы, которые существуют с использованием Cypher в массе, это можно сделать?Я использую neo4j 3.4.7.

DROP INDEX  ON :Label(attributename)

Заменит ли он существующие индексы, если я создам этот же индекс на более поздней стадии?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Для версии 3.x вы можете использовать встроенные процедуры Neo4j, чтобы определить, какой индекс вы хотите.Из веб-браузера вы можете отправить запрос шифра:

CALL db.indexes() - список всех индексов в базе данных.

CALL db.index.fulltext.drop() - удаление указанного индекса.

или CALL db.index.explicit.drop() - Удалить явный индекс - YIELD тип, имя, конфигурация

Все возможные встроенные процедуры и параметры для последней версии здесь Управление пользователями для Neo4j

старый стиль doэто с помощью CIPHER:

ИНДЕКС УДАЛЕНИЯ ВКЛ .: labelOfNode (propertyOfNode)

ИНДЕКС СОЗДАНИЯ ВКЛ: labelOfNode (propertyOfNode)

0 голосов
/ 01 октября 2018

Быстрый способ отбросить все индексы и ограничения - использовать процедуру APOC apoc.schema.assert следующим образом:

CALL apoc.schema.assert({},{},true) YIELD label, key
RETURN *

Процедура предназначена главным образом для обеспечения того, чтобыБД имеет индексы и ограничения, переданные в первых двух картах, но третий параметр определяет, будут ли отброшены какие-либо другие индексы и ограничения.В приведенном выше запросе первые 2 карты пусты, поэтому в результате все индексы и ограничения будут удалены.

...