我希望从azure search
获取所有文档,并使用NOT
运算符过滤掉。例如,我想获得没有术语wifi的所有文档。
NOT
运算符不能单独使用,来自lucene文档:
NOT运算符不能仅与一个术语一起使用。例如, 以下搜索将不会返回任何结果:
NOT "jakarta apache"
为此,我们必须匹配所有文档,然后筛选出一些:
*:* NOT wifi
问题:如何在lucene中匹配azure search
中的所有文档,例如*:*
?
提前谢谢!
答案 0 :(得分:1)
一种方法是发布匹配所有文档的正则表达式搜索,并过滤掉您不希望使用NOT运算符的文档。请注意,仅在完整的Lucene查询语法(queryType = full)中支持正则表达式搜索。
例如。
search = /。* / NOT" Jakarta apache"& queryType = full。
请注意"匹配所有"正则表达式模式可能很昂贵,因为它扩展到索引中可搜索字段中的所有项。请确保它符合您的期望性能。
Nate