簡體   English   中英

使用數據源作為索引內 JSON 文檔中的字段創建索引器

[英]Create indexer with data source as a field in JSON document inside Index

我在 Azure 搜索服務中有一個包含 JSON 格式文檔索引

索引架構

{
"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 存儲中才能創建索引器。

有沒有人做過類似我要求的事情? 或者有沒有人知道任何直接或間接的方法來達到要求?

如果提供任何線索就太好了,我在互聯網上找不到任何與此相關的內容。

您是如何開始在搜索索引中填充 imageUrl 數據的?

我問是因為沒有辦法配置索引器來從搜索索引中提取數據作為數據源。 如果您能夠將這些圖像 url 放在其他地方(例如:blob 存儲),您可以指向一個索引器。 如果是另一個索引器開始填充源索引,您可以向該主索引器添加知識存儲,以將 imageUrl 數據接收到 blob/表存儲以及搜索索引。 或者,只需處理主索引器技能組中的 url,而不要理會這個次要傳遞!

下一個問題是 Indexer 不會抓取您提供的任意網址。 它只從數據源中攝取數據,或由技能返回給它。 可以編寫一個自定義的 web api 技能,將 url 作為輸入,從該 url 下載圖像,並使用二進制圖像數據響應索引器。 這個功能沒有很好的文檔記錄,但是有一個示例 powerskill可以做一些你可以或多或少復制的事情。

這個輔助索引器管道的其余部分應該非常簡單(添加 ocr 技能和輸出字段映射函數以將數據合並回同一索引)。 索引器不會用空值覆蓋現有值,因此只需確保僅將一個新字段映射回索引,而索引的其余數據將保持不變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM