【问题标题】:How to make Azure Search run on demand with Blob Storage如何使用 Blob 存储使 Azure 搜索按需运行
【发布时间】:2018-07-17 03:27:08
【问题描述】:

我正在使用 Azure 搜索自动索引上传到 Blob 存储的 word 文档。我使用搜索的唯一原因是从 Word 或 PDF 文档 (it's free and works well) 中提取文本 - 从那时起,我从索引中读取它并将其删除。

我遇到的问题是搜索索引只能每 5 分钟运行一次 - 我需要它在 blob 上传后尽快运行。所以我要么需要按需运行它(每次添加新 blob 时触发),要么弄清楚如何将 Word/PDF 文档插入索引(或如何从中提取文本)

因此流程是:

  1. 将文档上传到 blob(Azure 函数)
  2. 索引运行并从文档中提取文本(搜索索引器)
  3. 定期阅读索引并提取该文本以供其他地方使用(Azure 函数)

所以我的问题是:

A.有没有更好的方法来使用 Azure 从 word/pdf 文档中本地提取文本? (在这种情况下,问题 2 无效) B. 我如何使用 .NET SDK 来调用 Index to Run(我找不到 Run 方法 here)虽然有几个地方提到您可以使用 SDK 按需运行它。

【问题讨论】:

  • 该链接的第二种方法是CreateOrUpdateWithHttpMessages,这显然是创建一个新的 Azure 搜索索引或更新一个索引(如果它已经存在)。你不只是想更新索引?
  • 我不这么认为——我想让索引处理新的 Blob 文档(它在内部从 PDF 中提取文本)。我自己没有文本,也没有找到提取它的方法(除了我在上面做的有点老套的方式)
  • 这是您上述问题的 B 部分 - 按需刷新索引。
  • 您是想从新文档中提取文本作为处理管道的一部分,还是尝试维护所有已加载文档的搜索索引?
  • 所以我需要触发索引来运行其寻找新 blob 和索引它们的内部进程。我认为 Update 方法要求您提供源数据以提供给索引,这不是我需要的

标签: azure azure-cognitive-search azure-sdk-.net


【解决方案1】:

如果您需要 Azure 搜索来破解文档,而不需要其余的搜索和扩充功能,那么直接在 Azure 函数中进行文档破解可能会更简单。有许多用于文档解析的 OSS 和商业库,例如Apache Tika

example 从 Azure 函数中使用 Tika,由我们的一位团队成员编写。

【讨论】:

  • 是的,这就是我使用它的全部目的,而且它做得非常好,以及认知分析(例如关键字提取),并且将来我可能需要 OCR。至少我需要它能够提取 Word 和 PDF - 感谢您的链接,我会检查出来
  • 另外,正如之前的评论者所提到的,您可以按需运行索引器。见Run Indexer
  • 好的,看起来是时候切换到 Tika 了——它似乎可以满足我的需求(所有类型的 Word 文档和 pdf),并且它从等式中删除了整个搜索索引。如果 Azure 可以将索引器服务的提取部分公开为新服务,那就太好了,这样我就可以为此使用 Azure 而不是另一个外部依赖项。感谢您的回答 - 它让我重回正轨
猜你喜欢
  • 2018-07-06
  • 2016-08-14
  • 2015-12-01
  • 1970-01-01
  • 2018-04-30
  • 2016-11-12
  • 2016-12-02
  • 2022-07-07
  • 2012-02-25
相关资源
最近更新 更多