【问题标题】:Odata wildcard at the beginning instead of the end of queryOdata 通配符在查询的开头而不是结尾
【发布时间】:2022-06-21 01:43:12
【问题描述】:

我知道您可以对通配符进行这样的 odata 查询

$filter=search.ismatch('lux*', 'Description')

我想做的是这个

$filter=search.ismatch('*lux', 'Description')

我已经尝试了上面的查询,但它没有返回任何信息,我知道有 '*lux' 匹配

理想情况下,我希望在这样的查询中有 2 个不同的字段

search=&$filter=Hotel eq 'Southern' and search.ismatch('*lux', 'Description')

该语法也不返回任何内容

理想的结果集: 酒店: 描述: 南方超勒克斯 南方百万勒克斯

另外我不知道如何标记它,因为我不经常使用它,所以如果标记错误,我很抱歉

【问题讨论】:

    标签: odata azure-cognitive-search


    【解决方案1】:

    我找到了这个答案:你不能使用 * 或 ?符号作为搜索的第一个字符。不对通配符搜索查询执行文本分析。在查询时,通配符查询词会与搜索索引中的分析词进行比较并展开。

    只有当通配符位于搜索查询的开头时,这似乎是不可能的。如果通配符位于搜索查询的末尾或中间,那么它将完美运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-08
      • 2023-03-21
      • 2022-01-15
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      相关资源
      最近更新 更多