【发布时间】:2018-09-18 05:35:14
【问题描述】:
我正在开发一个 Azure 函数,它调用 Azure 搜索,根据一些关键字获取搜索结果,然后将其发送回前端应用程序。 我的 Azure 搜索数据源(Azure 表)中有一个可搜索的列。它包含逗号分隔的字符串和关键字,如
- 数字、技术、3D
- 数字、技术、增强现实
- 数字化、制造、化工
- 数字化、制造、药品
现在我想进行如下搜索:
- (数字、技术、3D)或(数字、制造、 化学品)
它应该获取我所有列值为的记录
- 数字、技术、3D
- 数字化、制造、化工
我无法实现这一点。我知道 SearchMode.Any 和 SearchMode.All 但我不知道如何在上述两组之间实现 OR。
【问题讨论】:
-
索引字段是否包含此数据
filterable? -
在这种情况下您真的需要全文搜索,还是要为每个组寻找精确匹配?
-
@GauravMantri 是的。它是可过滤的。
-
@BruceJohnston 精确匹配每个组。在插入数据时,我们确保每个组都与传入的搜索请求完全匹配。例如。搜索请求可以是(数字、技术)或(数字)或(数字、技术、3D)
-
您可以尝试使用过滤查询:docs.microsoft.com/en-us/rest/api/searchservice/…。
标签: c# azure azure-table-storage azure-cognitive-search azure-search-.net-sdk