【问题标题】:Create indexer with data source as a field in JSON document inside Index创建索引器,将数据源作为索引内 JSON 文档中的字段
【发布时间】:2021-09-02 13:14:05
【问题描述】:

我在 Azure 搜索服务中有一个 Index,其中包含 JSON 格式的 Document

索引架构

{
"name": "product-api",
"defaultScoringProfile": null,
"fields": [
    {
        "name": "upcid",
        "type": "Edm.String",
        "searchable": true,
        "filterable": false,
        "retrievable": true,
        "sortable": true,
        "facetable": false,
        "key": true,
        "indexAnalyzer": null,
        "searchAnalyzer": null,
        "analyzer": null,
        "synonymMaps": []
    },
    {
        "name": "productName",
        "type": "Edm.String",
        "searchable": true,
        "filterable": false,
        "retrievable": true,
        "sortable": false,
        "facetable": false,
        "key": false,
        "indexAnalyzer": null,
        "searchAnalyzer": null,
        "analyzer": null,
        "synonymMaps": []
    },
    {
        "name": "imageUrl",
        "type": "Edm.String",
        "searchable": false,
        "filterable": false,
        "retrievable": true,
        "sortable": false,
        "facetable": false,
        "key": false,
        "indexAnalyzer": null,
        "searchAnalyzer": null,
        "analyzer": null,
        "synonymMaps": []
    },
    {
        "name": "ocrText",
        "type": "Edm.String",
        "searchable": false,
        "filterable": false,
        "retrievable": true,
        "sortable": false,
        "facetable": false,
        "key": false,
        "indexAnalyzer": null,
        "searchAnalyzer": null,
        "analyzer": null,
        "synonymMaps": []
    }
],
"scoringProfiles": [],
"corsOptions": {
    "allowedOrigins": [
        "*"
    ],
    "maxAgeInSeconds": null
},
"suggesters": [],
"analyzers": [],
"tokenizers": [],
"tokenFilters": [],
"charFilters": [],
"encryptionKey": null,
"similarity": {
    "@odata.type": "#Microsoft.Azure.Search.ClassicSimilarity"
}
}
  • 我的要求

创建一个索引器,它可以使用 imageUrl(图像未存储在 azure 存储服务中)字段作为数据源,Microsoft.Skills.Vision.OcrSkill 作为技能和将输出映射到字段 ocrText

  • 问题

根据我从文档中读到的内容,数据源(在我的例子中是图像)必须在 Azure Blob 存储中才能创建索引器。

有没有人做过类似我要求的事情?或者有人知道任何直接或间接的方法来实现要求吗?

如果能提供任何线索就太好了,我在互联网上找不到与此相关的任何内容。

【问题讨论】:

    标签: azure indexing azure-devops azure-blob-storage azure-cognitive-search


    【解决方案1】:

    您是如何开始在搜索索引中填充 imageUrl 数据的?

    我之所以这么问,是因为无法将索引器配置为从搜索索引中提取数据作为数据源。如果您能够将这些图像 url 放在其他地方(例如:blob 存储),您可以将索引器指向那里。如果是另一个索引器开始填充源索引,您可以add a knowledge store to that primary Indexer 将 imageUrl 数据下沉到 blob/表存储以及搜索索引。或者,只处理主索引器技能集中的 url,而不必费心这个辅助通道!

    下一个问题是 Indexer 不会抓取您提供的任意网址。它仅从数据源中提取数据,或通过技能返回给它。可以编写一个custom web api skill,它将 url 作为输入,从该 url 下载图像,并使用二进制图像数据响应索引器。这个功能没有很好的文档记录,但是there exists an example powerskill 做了一些你可以或多或少复制的事情。

    这个二级索引器的管道的其余部分应该非常简单(添加一个 ocr 技能和输出字段映射函数以将数据合并回同一个索引)。索引器不会用空值覆盖现有值,因此只需确保仅将一个新字段映射回索引,索引的其余数据将保持不变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-28
      • 2023-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 2017-02-01
      • 1970-01-01
      相关资源
      最近更新 更多