Select 匹配内容的子集?

Select a subset of matched content?

我正在使用搜索来索引存储在 Azure blob 容器中的 PDF。我想从搜索内容中 return 大约 500-1000 个字符的匹配文本,以便我可以在我的网络应用程序中向用户突出显示。内容本身可能多达 200 000 个字符,这对于通过网络发送来说太大了。在将结果发送到客户端之前,是否可以在服务器端对部分匹配内容进行子字符串处理?我正在使用 SearchParameteres 来过滤匹配数据、识别方面,并将 select 特定字段 return 如下所示:

`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" },
};`

感谢

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