【问题标题】:How to mach all documents in Azure Search如何匹配 Azure 搜索中的所有文档
【发布时间】:2017-04-20 08:44:54
【问题描述】:

我想从azure search 获取所有文档并使用NOT 运算符过滤掉。例如,我想获取所有没有术语 wifi 的文档。

NOT 运算符不能单独使用,来自 lucene 文档:

NOT 运算符不能只与一个术语一起使用。例如, 以下搜索将不返回任何结果: NOT "jakarta apache"

为此,我们必须匹配所有文档,然后过滤掉一些:

*:* NOT wifi

问题:如何匹配 azure search 中的所有文档,例如 lucene 中的 *:*? 提前致谢!

【问题讨论】:

  • 您能解释一下(最好是通过指向 Lucene 文档)*:* 表达式是什么吗?我看起来像是一个无效的通配符查询,因为通配符查询不能以 * 或 ?符号。

标签: lucene azure-cognitive-search


【解决方案1】:

一种方法是发出匹配所有文档的正则表达式搜索,并使用 NOT 运算符过滤掉不需要的文档。请注意,仅在完整的 Lucene 查询语法 (queryType=full) 中支持正则表达式搜索。

例如。

搜索=/.*/ 不是“Jakarta apache”&queryType=full。

请注意,“匹配所有”正则表达式模式可能会很昂贵,因为它会扩展到索引中可搜索字段中的所有术语。请确保它在性能方面符合您的期望。

内特

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多