OrientDB Gremlin — g.getVertices для полнотекстового поиска/сопоставления свойства

Я пытаюсь выяснить, как я могу выполнить запрос LIKE в гремлине, используя метод getVertices или аналогичный, который попадет в индексы. Я использую OrientDB 2.1.11 и Gremlin.

Это работает, но дает точное соответствие:
g.getVertices('city_state.city','VANCOUVER')

Что мне нужно сделать, это что-то вроде ниже (хотя не работает):
g.getVertices('city_state.city','VANC%')

Было бы здорово, если бы я мог использовать индекс LUCENE, если он поддерживается.


person Omair Jafri    schedule 26.02.2016    source источник
comment
правильно ли это: -----> g.getVerticesOfClass('city_state')._().filter{it.getProperty('city').matches('VAN.*')}   -  person Omair Jafri    schedule 26.02.2016


Ответы (1)


Вы можете попробовать этот запрос:

g.V.has('@class','city_state').filter{it.city.matches('VA‌​N.*')}

или это (похоже на ваше):

g.V.has('@class','city_state').filter{it.getProperty('city').matches('VA‌​N.*')}
person LucaS    schedule 28.02.2016
comment
^ возвращается через 7+ секунд, а -> g.getVerticesOfClass('city_state')._().filter{it.city.matches('VAN.*')} возвращается через 0,43 секунды. Количество записей V = 1 170 585, в то время как класс city_state имеет 15 965 записей. Я не думаю, что это индексы попадания (у меня есть индекс словаря и полнотекстовый индекс, созданный для поля города). - person Omair Jafri; 28.02.2016