2013-07-24 2 views
0

Я собираюсь проверить новые возможности автоматического индексирования, которые поставляются с Neo4j 2.0. Они описаны здесь: http://docs.neo4j.org/chunked/2.0.0-M03/tutorials-java-embedded-new-index.htmlServerPlugins в Neo4j 2.0.0-M03: Где создать индекс схемы

Теперь автоматический указатель должен быть создан в одной точке. Старый способ получить индекс был просто «indexManager.forNodes()», и индекс был возвращен, если он существует, если нет. С автоматическим индексированием нам просто нужно создать индекс один раз через «schema.indexFor() ...», а затем сделать с ним.

Мой вопрос: где лучше всего создать индекс? В примере документации у них есть основной метод. Но я работаю с ServerPlugin. Я хотел бы создать индексы один раз при запуске, если они еще не существуют. Но где я могу это сделать? И как проверить, существует ли указатель уже? Я могу получить все IndexDefinition для метки. Но поскольку IndexDefinition может зависеть от метки и от произвольного свойства, мне пришлось бы перебирать все IndexDefinitions для конкретной метки и проверять, существует ли свойство с правильным свойством.

Я мог бы просто сделать то, что только что написал, но это выглядит немного громоздким по сравнению со старой обработкой индекса, которая автоматически проверяет, существует ли запрошенный индекс и создать его, если нет. Поэтому мне интересно, просто ли я пропустил некоторые ключевые моменты с обработкой новых индексов.

Спасибо!

ответ

0

Я получил ответ от разработчика Neo4j здесь: http://docs.neo4j.org/chunked/2.0.0-M03/tutorials-java-embedded-new-index.html

Он предлагает создать автоматические индексы в сценарии запуска Neo4j, например. Я также видел, что кто-то уже желал уникальных индексов (было бы замечательной особенностью!). Это упростило бы создание индекса, но, в конце концов, теперь это часть настройки базы данных.

Смежные вопросы