首页 > 解决方案 > 按关键字过滤复杂集合

问题描述

有什么方法可以按关键字过滤复杂的集合吗?我们有一个名为 Phase 的复杂实体,Phase 有一个名为 EntityTitle 的属性,我们要过滤掉所有 title 包含关键字“Completed”的 Phase。我尝试了 contains 和 search.ismatch,但它们都不支持。欣赏任何想法。谢谢。

“过滤器”:“(阶段/任何(阶段:包含(阶段/实体标题,'已完成')))”

"过滤器":"(Phases/any(phase: search.ismatch('Completed', 'phase/EntityTitle')))"

标签: azure-cognitive-search

解决方案


实际上,在过滤复杂类型时,lambda 表达式中不支持“search.ismatch”和“contains”,您应该改用“eq”。请参阅https://docs.microsoft.com/en-us/azure/search/search-query-troubleshoot-collection-filters#cheat-sheet-for-collection-filter-rules

您的场景的一个示例是

Phases/any(phase: phase/EntityTitle eq 'Completed')

推荐阅读