Azure cosmos DB 是否允许使用 Gremlin 查询进行不区分大小写的搜索?

问题描述 投票:0回答:1

我有一个像 g.V().hasLabel('test').has('name',TextP.containing('ar')) 这样的 gremlin 查询。但这个查询正在进行区分大小写的搜索。它没有返回名为 Ar 的顶点。

假设我在测试标签下有 2 个顶点,它们的名称如 Arhan 和 arhan。如果我执行 gremlin 查询 g.V().hasLabel('test').has('name',TextP.containing('ar')),它只返回 arhan 记录。但我希望无论情况如何,这两条记录都能被检索。

c# gremlin azure-cosmosdb-gremlinapi
1个回答
0
投票

您的选择将取决于 CosmosDB 支持的内容。我相信 Gremlin 支持的版本已经很旧了。

Gremlin 现在有一个

regex
谓词(在 TinkerPop 3.6 中添加),并且在最新版本 (3.7.0) 中具有一系列新的字符串函数,允许在测试之前对字符串进行小写和大写。

最后,一些实现允许与外部全文搜索索引集成。

我不确定 CosmosDB 是否支持这些选项。如果没有,那么您真正能做的最好的事情就是使用

or
逻辑测试所有可能的变化 - 这可能会变得混乱,但可能是您唯一的选择,类似于:

or(
  has('name',TextP.containing('ar'),
  has('name',TextP.containing('Ar')
  )
© www.soinside.com 2019 - 2024. All rights reserved.