【问题标题】:filtering complex collections by keywords按关键字过滤复杂集合
【发布时间】:2021-11-10 05:37:27
【问题描述】:

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

"Filter":"(Phases/any(phase: contains(phase/EntityTitle, 'Completed')))"

"Filter":"(Phases/any(phase: search.ismatch('Completed', 'phase/EntityTitle')))"

【问题讨论】:

    标签: azure-cognitive-search


    【解决方案1】:

    在过滤复杂类型时,确实不支持在 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')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多