Azure AI Search でプレーンテキスト BLOB とファイルのインデックスを作成する
適用対象: BLOB インデクサー、ファイル インデクサー
フルテキスト検索のためにインデクサーを使用して検索可能な BLOB テキストまたはファイルの内容を抽出する際に、解析モードを割り当てることで、インデックス作成でより良い結果を得られます。 既定では、インデクサーは BLOB の content
プロパティをテキストの 1 つのチャンクとして解析します。 ただし、すべての BLOB およびファイルに同じエンコードのプレーンテキストが含まれている場合、text
解析モードを使用してインデックス作成のパフォーマンスを大幅に改善できます。
解析のtext
おすすめには、次のいずれかの特性があります。
- ファイルの種類は
.txt
- どの種類のファイルでも、コンテンツそのものがテキストの場合 (プログラムのソース コード、HTML、XML など)。 マークアップ言語のファイルの場合、構文文字は静的テキストとして使用されます。
すべてのインデクサーは JSON にシリアル化されることを思い出してください。 既定では、テキスト ファイル全体の内容は、1 つの大きなフィールド内で次のように "content": "<file-contents>"
インデックスが作成されます。 新しい行と戻り値の命令がコンテンツ フィールドに埋め込まれており、次のように \r\n\
表されます。
より洗練された、または詳細な結果が必要で、ファイルの種類に互換性がある場合は、次の解決策を検討してください。
delimitedText
解析モード (ソースが CSV の場合)jsonArray
またはjsonLines
(ソースが JSON の場合)
コンテンツを複数の部分に分割するための代替の 3 番目のオプションには、AI エンリッチメントの形式で高度な機能が必要です。 これにより、ファイルのチャンクを識別して、別の検索フィールドに割り当てる分析が追加されます。 エンティティ認識やキーワード (keyword)抽出などの組み込みのスキルを通じて完全または部分的なソリューションが見つかる場合がありますが、より可能性の高いソリューションは、カスタム スキルにラップされたコンテンツを理解するカスタム学習モデルである可能性があります。
プレーンテキストのインデックス作成を設定する
プレーンテキスト BLOB のインデックスを作成するには、インデクサーの作成要求で構成プロパティをparsingMode
設定してtext
インデクサー定義を作成または更新します。
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2023-11-01
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=2023-11-01
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" } }
}