Ste*_*ane 12 gremlin azure-cosmosdb
是否可以使用Azure Cosmos Graph DB中的包含搜索顶点属性?
例如,我想找到所有'Jr'
以他们名义的人?
g.V().hasLabel('person').has('name',within('Jr')).values('name')
Run Code Online (Sandbox Code Playgroud)
似乎该within('')
函数仅过滤完全相等的值'Jr'
.我正在寻找一个包含.理想情况下不区分大小写.
目前没有任何文本匹配功能可用于 CosmosDB。但是,我能够通过使用使用 Javascript match() 函数的 UDF(用户定义函数)来实现通配符搜索功能:
function userDefinedFunction(input, pattern) { return input.match(pattern) !== null; };
Run Code Online (Sandbox Code Playgroud)
然后,您必须将查询编写为 SQL 并使用您定义的 UDF(下面的示例假定您调用函数“REGEX”
SELECT * FROM c where(udf.REGEX(c.name[0]._value, '.*Jr.*') and c.label='person')
Run Code Online (Sandbox Code Playgroud)
性能远非理想,因此您需要根据延迟和成本的角度来决定解决方案是否可以接受。
Azure 团队现已为 String 实现了 Tinkerpop 谓词
Azure 团队已在其反馈网站上向用户“宣布”了这一点。
我还没有测试所有这些,但包含对我有用的内容(尽管区分大小写)
g.V().hasLabel('doc').or(__.has('title', containing('truc')), __.has('tags', containing('truc')))
Run Code Online (Sandbox Code Playgroud)
TextP.startingWith(字符串)
传入的字符串是否以提供的字符串开头?
TextP.endingWith(字符串)
传入的字符串是否以提供的字符串结尾?
TextP.包含(字符串)
传入的字符串是否包含提供的字符串?
TextP.notStartingWith(字符串)
传入的字符串是否不以提供的字符串开头?
TextP.notEndingWith(字符串)
传入的字符串是否不以提供的字符串结尾?
TextP.notContaining(字符串)
传入的字符串不包含提供的字符串吗?
归档时间: |
|
查看次数: |
1284 次 |
最近记录: |