Каждый пример, который мне удалось найти в документации Titan, создает индексы с использованием консоли Rexster. Вы входите в один узел Titan, создаете свои индексы и совершаете коммит. Через некоторое время весь кластер знает об индексе и его можно использовать.
Мне интересно, есть ли другие способы сделать это. Есть некоторые преимущества при создании индексов из кода, например. в расширении Rexster: я использую ENUM для ключей свойств и меток ребер, которые предлагают toString
методы, которые я могу использовать при создании индекса. Таким образом, можно не беспокоиться об измененных значениях.
Еще один аспект, который следует упомянуть, заключается в том, что я тестирую Титан и, таким образом, довольно часто повторно инициализирую кластер. Удобнее позволить коду сделать всю работу за меня, чем заходить на узел и делать это вручную.
Однако создание индексов из кода кажется беспорядочным и вызывает множество исключений при использовании в конечном итоге согласованного бэкэнда хранилища. Я думаю, что из-за моего одновременного запуска узла несколько узлов пытались создать индексы. Подробности см. в разделе Titan node не появляется.
Есть ли правильный способ решения этих проблем? Есть ли другие методы, о которых я не знаю?