如何在Azure认知搜索中对Blob文档进行页面索引?

问题描述 投票:0回答:1

我是Azure搜索的新手。我正在使用this method索引一些pdf文档但是,我想按页面获取搜索结果。它当前正在提供整个文档的结果,但我希望从每页显示结果,而不是我想要的是具有最高分数的特定文件名和页码。

nlp microsoft-cognitive azure-cognitive-search azure-cognitive-services azure-search-.net-sdk
1个回答
0
投票

您已经注意到,默认情况下,文档破解会将所有文本推入一个字段(内容)。如果您具有OCR技能(假设PDF中包含文本的图像),则默认情况下,它在merged_content中执行相同的操作。我不认为有一种方法可以强制这两项任务将您的数据分解为多个页面。

我说“相信”,因为很难找到输入到技能组中的文档对象形状的文档。例如,查看此合并技能组的输入。它使用/ document / content和其他与文档相关的数据,并将其全部推送到称为merged_content的字段中。如果您可以在文档中的所有字段上找到文档,则可能会细分您的页面。

{
  "@odata.type": "#Microsoft.Skills.Text.MergeSkill",
  "name": "#BookMergeSkill",
  "description": "Some description",
  "context": "/document",
  "insertPreTag": " ",
  "insertPostTag": " ",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    },
    {
      "name": "itemsToInsert",
      "source": "/document/normalized_images/*/text"
    },
    {
      "name": "offsets",
      "source": "/document/normalized_images/*/contentOffset"
    }
  ],
  "outputs": [
    {
      "name": "mergedText",
      "targetName": "merged_content"
    }
  ]
},

我知道解决此问题的唯一方法是使用custom skill,它将驻留在Azure函数中,并且被称为文档技能组管道的一部分。在该Azure函数中,您将必须使用PDF阅读器(如iText7),然后自己打开文档并返回以文本或自定义对象的数组形式放置在索引文档中的数据。

我们打算与客户进行自定义的破解过程(不这样做,但出于其他原因),但是由于在索引中保存大量数据的成本而使该项目无法进行。

© www.soinside.com 2019 - 2024. All rights reserved.