如何在 Azure AI 搜尋服務中編製純文字 Blob 和檔案的索引
使用索引器來擷取可搜尋的 Blob 文字或檔案內容以進行全文搜尋時,您可以指派剖析模式,以取得更好的編製索引結果。 根據預設,索引器會將內容剖析為單一文字區塊。 不過,如果所有 Blob 和檔案都包含相同編碼方式的純文字,您可以使用剖析模式大幅改善索引編製效能 text
。
剖析的text
建議 包括:
- 檔類型為 .txt
- 檔案屬於任何類型,但內容本身是文字(例如程式原始程式碼、HTML、XML 等等)。 對於標示語言的檔案,任何語法字元都會以靜態文字的形式通過。
回想一下,所有索引器都會串行化為 JSON。 根據預設,整個文字文件的內容會在一個大欄位內編制索引,做為 "content": "<file-contents>"
。 任何新的行和傳回指令都內嵌在內容欄位中,並以 表示。\r\n\
如果您想要更細微的結果,而且文件類型相容,請考慮下列解決方案:
delimitedText
如果來源為 CSV,則剖析模式jsonArray
如果來源為 JSON,則為 或jsonLines
。
將內容分成多個部分的第三個選項需要 AI 擴充形式的進階功能。 它會新增分析,以識別檔案的區塊,並將其指派給不同的搜尋欄位。 您可以透過內建技能找到完整或部分解決方案,但更可能的解決方案是瞭解您的內容、在自定義學習模型中清楚表達的內容,並包裝在自定義技能中的學習模型。
設定純文字索引
若要編制純文字 Blob 的索引,請使用建立索引器要求上的組態屬性text
,建立或更新索引器定義parsingMode
:
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2020-06-30
Content-Type: application/json
api-key: [admin key]
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text" } }
}
根據預設, UTF-8
會假設編碼方式。 若要指定不同的編碼方式,請使用組 encoding
態屬性:
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "windows-1252" } }
}
要求範例
剖析模式是在索引器定義中指定。
POST https://[service name].search.windows.net/indexers?api-version=2020-06-30
Content-Type: application/json
api-key: [admin key]
{
"name" : "my-plaintext-indexer",
"dataSourceName" : "my-blob-datasource",
"targetIndexName" : "my-target-index",
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
}