选择匹配内容的子集?

时间:2019-02-15 14:57:39

标签: azure-search

我正在使用搜索索引存储在Azure blob容器中的PDF。我想从搜索到的内容中返回大约500-1000个字符的匹配文本,以便可以在Web应用程序中向用户突出显示。内容本身最多可以包含20万个字符,太大而无法通过网络发送。在将结果发送给客户端之前,是否可以在服务器端的一部分匹配内容上创建子字符串?我正在使用SearchParameteres来过滤匹配的数据,识别构面并选择要返回的特定字段,如下所示:

`SearchParameters sp = new SearchParameters()
{
    SearchMode = SearchMode.Any,
    Top = 10,
    Skip = currentPage - 1,
    // select specific fields
    Select = new List<String>() {"metadata_storage_path", "PubYear", "PubMonth", "PubDay", "NewspaperName", "content"},
    IncludeTotalResultCount = true,
    // Add facets
    Facets = new List<String>() { "PubYear", "PubMonth", "PubDay", "NewspaperName" },
};`

Tks

1 个答案:

答案 0 :(得分:0)

我能想到的最接近的是使用热门突出显示API-> https://docs.microsoft.com/en-us/rest/api/searchservice/search-documents#highlightstring-optional 这将返回一些与每个文档的查询相匹配的文本片段。您目前无法配置文本片段的大小,但是每个文本片段至少应包含找到它们的完整句子。