【发布时间】:2021-11-16 02:23:18
【问题描述】:
如果我可能在 SO 的其他一些领域错过了这个,请重定向我,但我不认为这是一个受骗的问题。
我正在使用带有名为 Title 的索引字段的 Azure 搜索,该索引字段可使用标准 Lucerne 分析器进行搜索和过滤。
使用内置资源管理器时,如果我想返回所有明确命名为 Full Stack Developer 的职位,我可以这样实现:
$filter=Title eq 'Full Stack Developer'&$count=true
但是,如果我想使用通配符检索所有职位,以这种方式返回名称中包含 Full Stack 的所有记录:
$filter=Title eq 'Full Stack*'&$count=true
返回的前 20 条左右记录是正确的,但在那之后,我得到了一些与我在查询中指定的标题完全没有共同点的记录。我最初的假设是,Azure 可能包含我指定的标题,也对文本执行包含性关键字搜索。
虽然我发现了一些似乎证明了该假设的实例,但返回的更多记录完全使该假设无效。
也许我不完全了解 Azure 搜索引擎盖下的机制,因此尽管我的查询似乎是有效的;我对结果的期望很遥远。
那么,如果可能的话,我的查询应该如何执行通配符以保证搜索中指定的单词包含在返回的标题中?什么是条件返回以适应 OR 运算符的正确语法是包容性的?
【问题讨论】:
-
基本上,您只想在
Title字段上执行通配符搜索。对吗? -
是的,只有标题字段
标签: azure lucene azure-cognitive-search