1

我正在使用 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”的相同查询由 SQL 返回 161,但由 gremlin 返回 20。

为什么会这样?gremlin 命令的语法有问题吗?有没有更好的方法在 gremlin 中搜索文本?

我想在使用 python 驱动程序'pyorient'的上传脚本中设置属性可能存在问题。 用于上传数据集的 Python 脚本

谢谢你的帮助。

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

3

我用 2.1.15 试过了,没问题。

这些是记录。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

已编辑

我在我的数据库中添加了一些顶点,现在count()是 11

询问:

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

输出:

==>11

希望能帮助到你。

于 2016-04-13T14:49:36.847 回答