“精确搜索”字段使用自己的自定义分析器,而“搜索”字段使用特定于语言的自定义分析器(例如,基于MicrosoftStemmingTokenizerLanguage.French构建)。
我似乎无法在“精确搜索”字段中使用$ filter,因为$ filter会考虑整个字段,并且不会使用该字段的自定义分析器。
Azure搜索文档指出了有关字段范围查询的信息。 “您可以指定fieldname:searchterm构造来定义现场查询操作,其中字段是单个单词,搜索项也是单个单词”
在Azure中如何做到这一点没有明确的方法。我们知道我们可以在Azure Search Rest API调用中使用searchFields参数来定位特定字段,但是我们如何搜索所有字段1个字段,同时专门搜索某些字段以查找特定字词,基本上在它们之间进行“AND”?
答案 0 :(得分:0)
可以使用{{3}}。
像这样构建你的查询,其中"主席"是要在所有字段中搜索的字词,field1
和field2
是您要搜索特定字词的字段:
chair AND field1:something AND field2:else
就如何在REST API中使用它而言,只需将其嵌入search
参数即可。如果您正在使用GET,它看起来像这样(想象它是URL编码的):
search=chair AND field1:something AND field2:else
如果您正在使用POST,它会进入请求正文,如下所示:
{
"search": "chair AND field1:something AND field2:else",
... (other parameters)
}