Azure搜索索引 - 搜索确切的Word

时间:2017-06-19 15:13:51

标签: azure azure-search

我们正在将Azure搜索索引用于我们的某个Search API。我们在Azure搜索索引中有一个字段说显示名称(这是一个字符串字段。当我们使用显示名称进行搜索时,要求来自API,搜索应该是对字段的精确搜索。

例如: 如果我们搜索" George Joseph",搜索索引应该只返回与显示名称完全匹配的记录为" George Joseph"它不应该返回带有名字的记录 - " George Joseph John"或约翰乔治约瑟夫"

我有什么方法可以做到这一点吗?

此致

约翰

2 个答案:

答案 0 :(得分:0)

假设您对区分大小写的匹配感兴趣,则可以使用过滤器来实现此目的。例如,DisplayName eq 'George Joseph'将与George Joseph完全匹配,但与george JOSEPH不匹配。您可以找到有关过滤器语法here的详细信息。

答案 1 :(得分:0)

您可以指定“&searchMode =全部”

设置searchMode = all时,您告诉搜索引擎所有查询词在文档中必须至少匹配一次-

agency temps&$count=true&$top=30&$skip=0&searchMode=All&$filter=(CompanyCode eq '13453' and VNumber eq '00023232312016') &scoringProfile=BusinessProfile1&searchFields=VCategory

https://docs.microsoft.com/en-us/azure/search/query-lucene-syntax

在此示例中,searchMode = all参数是相关的。每当查询中有运算符时,通常都应将searchMode = all设置为确保所有条件都匹配。

GET / indexes / hotels / docs?search =类别:预算和“最近翻新”的^ 3&searchMode = all&api-version = 2020-06-30&querytype = full