我们正在将Azure搜索索引用于我们的某个Search API。我们在Azure搜索索引中有一个字段说显示名称(这是一个字符串字段。当我们使用显示名称进行搜索时,要求来自API,搜索应该是对字段的精确搜索。
例如: 如果我们搜索" George Joseph",搜索索引应该只返回与显示名称完全匹配的记录为" George Joseph"它不应该返回带有名字的记录 - " George Joseph John"或约翰乔治约瑟夫"
我有什么方法可以做到这一点吗?
此致
约翰
答案 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