azure - 创建索引和技能 Azure 认知搜索
问题描述
我正在尝试创建一个索引和技能,让我能够
索引 pdf、多页和单页以及所有其他类型的文件,提取数据并使其可搜索,
搜索一个术语说“猫”,并在似乎返回该术语的文本部分,以及找到它的 PDF/图像的页码和文档名称/可下载 URL,一个边界框,会很好但不是必需的。
我正在苦苦挣扎,我尝试过文本提取技能、OCR 技能,但我正在苦苦挣扎,因为搜索词返回整个提取的文档(100 页),作为文件“内容”中的文本
这对我来说没有多大意义,JFK 的例子已经过时了。
我已经花了 4 天时间,这并不难,文档也没有那么有用。
我已经使用门户工具绑定到“构建”和索引和技能集,但得到了类似的结果。
任何帮助,将不胜感激。
解决方案
如果您更喜欢将 hOCR 格式用于边界框,您可能想尝试使用 GitHub 上的 Power Skills 存储库中的 hOCR 自定义技能,但是 [OCR 技能]( https://docs.microsoft.com/en-us /azure/search/cognitive-search-skill-ocr#sample-text-and-layouttext-output 的输出)已经为内容提供了边界框。请注意,Power Skills存储库还更新了 JFK 示例中使用的大多数技能的版本,包括可以帮助您在应用程序中制作页面图片的图像存储。
使其发挥作用的关键在于技能组合的定义。
JFK 技能组有其 OCR 技能输出layoutText
。
还有一个自定义图像存储技能,/document/normalized_images/*/data
可以将生成的 URI 上传并保存为imageStoreUri
.
另一个自定义技能将 OCR 布局结果转换为 HOCR 格式。
然后 aShaperSkill
在 下聚合该信息ocrImageMetadata
。
在 JFK 的情况下,该信息会在 下进一步聚合cryptonyms
,因为这是 JFK 演示关注的主要内容,并且图像元数据也是/document/hocrDocument/metadata
as的输出字段映射metadata
,它也被索引。重要的一点是所有相关信息都映射到索引字段。结果,其中的信息可从索引查询结果中获得。
推荐阅读
- reactjs - 如何将高阶组件作为子组件附加
- python - 将浮点数转换回时间戳
- visual-studio - 如果您在 Git 存储库中有一个没有上游的分支,并且有多个遥控器,那么 Visual Studio 如何在您推送时选择使用哪个遥控器?
- python - 如何在开头没有空格的情况下打印此列表?
- node.js - 使用数组过滤器 (MongoDB) 时无法使用聚合运算符 $add 更新日期
- reactjs - 使用 store 中的数据时如何避免重新渲染功能组件
- cython - 为什么我不能在 Jupyterlab 的 Cython 中使用 int 参数?
- javascript - 单击时滚动到不滚动到正确的列表项
- flutter - 颤动中的流构建器延迟问题
- java - 如何检索已触摸的项目的 id?