我可以针对目标字段“精确搜索”并在其他字段中搜索吗?

时间:2017-04-26 04:35:41

标签: azure search azure-search

“精确搜索”字段使用自己的自定义分析器,而“搜索”字段使用特定于语言的自定义分析器(例如,基于MicrosoftStemmingTokenizerLanguage.French构建)。

我似乎无法在“精确搜索”字段中使用$ filter,因为$ filter会考虑整个字段,并且不会使用该字段的自定义分析器。

Azure搜索文档指出了有关字段范围查询的信息。 “您可以指定fieldname:searchterm构造来定义现场查询操作,其中字段是单个单词,搜索项也是单个单词”

在Azure中如何做到这一点没有明确的方法。我们知道我们可以在Azure Search Rest API调用中使用searchFields参数来定位特定字段,但是我们如何搜索所有字段1个字段,同时专门搜索某些字段以查找特定字词,基本上在它们之间进行“AND”?

1 个答案:

答案 0 :(得分:0)

可以使用{{3}}。

像这样构建你的查询,其中"主席"是要在所有字段中搜索的字词,field1field2是您要搜索特定字词的字段:

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)
}