集合上的Azure搜索筛选器
我们的索引如下所示(这来自查询资源管理器): 这表明集合上的Azure搜索筛选器,azure,azure-cognitive-search,Azure,Azure Cognitive Search,我们的索引如下所示(这来自查询资源管理器): 这表明File 1.doc存在于多个位置,但我们在azure blob storange中存储了一次,这就是为什么我们有一个键,xxx是blob存储键 我一直在阅读文档,但没有看到一个示例允许我们使用集合中的startswith或contains进行筛选 我试过了 var searchParameters = new SearchParameters() { Filter = @"paths/any(t: t gt '\\Server\Sha
File 1.doc
存在于多个位置,但我们在azure blob storange中存储了一次,这就是为什么我们有一个键,xxx
是blob存储键
我一直在阅读文档,但没有看到一个示例允许我们使用集合中的startswith或contains进行筛选
我试过了
var searchParameters = new SearchParameters()
{
Filter = @"paths/any(t: t gt '\\Server\Share')",
};
我们需要能够搜索给定路径的文件内容
编辑
我们的CosmosDb
数据库具有向用户表示的数据视图,该数据库具有指向blob的链接,因此另一个选项是为CosmosDb编制索引,并让索引器跟随指向blob的链接,文档不建议这样做。或者,我们最好编写自己的索引器
,并将其作为azure函数
托管
每个文档有一行和一个指向blob的指针,许多文档行可以指向同一个blob。我用
var searchParameters = new SearchParameters()
{
Filter = @"search.ismatch('""\\\\server\\share\\path""','paths','simple','all')",
};
如果需要的话,我会做更多的测试并更新这个答案好吧,如果可行的话,OData语法将是path/any(t:startswith(t,'\\Server\Share'))
.Hmm,看起来你不能在lambdas中使用任意函数进行搜索。你可以查看文档了解更多信息:是的,我试过:)我正在阅读文档:)。。。再次声明:)我认为它不受支持。如果要使用分部项进行筛选,使用search.ismatch是正确的选择。正则筛选表达式需要与查询词精确匹配。您可以从本文了解更多如何自定义如何处理索引或查询项:。
var searchParameters = new SearchParameters()
{
Filter = @"search.ismatch('""\\\\server\\share\\path""','paths','simple','all')",
};