OrientDB: поиск текста с использованием gremlin

Я использую OrientDB и консоль gremlin, которая входит в комплект.

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

Если я использую SQL как запрос, такой как:

select count(*) from Email where eBodyText like '%Syria%'

возвращается 24.

Но если я сделаю запрос в консоли gremlin, например:

g.V.has('eBodyText').filter{it.eBodyText.matches('.*Syria.*')}.count()

это не возвращает ни одного.

Те же запросы с другим ключевым словом "memo" возвращают 161 по SQL, но 20 по gremlin.

Почему это ведет себя так? Есть ли проблема с синтаксисом команды gremlin? Есть ли лучший способ поиска текста в гремлине?

Я предполагаю, что может быть проблема установки свойств в скрипте загрузки, который использует драйвер python 'pyorient'. Скрипт Python, используемый для загрузки набора данных

Спасибо за вашу помощь.

1 ответ

Решение

Я пробовал с 2.1.15, и у меня не было проблем.

Это записи.

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

РЕДАКТИРОВАНИЕ

Я добавил несколько вершин в свою БД и теперь count() это 11

QUERY:

g.V.has('eBodyText').filter{it.eBodyText.contains('Syria')}.count()

ВЫХОД:

==>11

Надеюсь, поможет.

Другие вопросы по тегам