如何在DocumentDB中的集合中的所有文档的所有字段中搜索子字符串?

时间:2015-02-04 05:18:10

标签: azure-cosmosdb nosql

我需要在任何字段中找到包含子字符串的所有文档,
即。文件:

{
    a:"asd",
    b:100,
    c:
      {
          z:9
      }
},
{
    v:"asdfg",
    p:"a100"
}

因此,当我搜索 "asd" "10" 时,我需要同时获取这两份文件。

我不知道这些文件中可以包含哪些字段,所以我不能一个一个地搜索它们。

2 个答案:

答案 0 :(得分:0)

跨所有文档搜索所有字段意味着必须扫描每个DocumentDB,因为这种类型的查询不利用任何索引。

对于这种情况,我建议您查看全文搜索产品(例如Azure Search)而不是数据库(例如DocumentDB)。

您能详细说明您的用例以及您要完成的工作吗?随意打电话给我(andrl {at} microsoft) - 我非常乐意提供指导。

答案 1 :(得分:0)

在不了解您的用例的情况下,Azure搜索(启用了建议)似乎更合适。搜索建议允许azure搜索根据子字符串提供结果命中。