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 エンリッチメント形式の高度な機能が必要です。 これにより、ファイルのチャンクを識別して、別の検索フィールドに割り当てる分析が追加されます。 エンティティ認識やキーワード抽出など組み込みのスキルを通じて完全または部分的なソリューションが見つかる場合がありますが、カスタム スキルにラップされたコンテンツを理解するカスタム学習モデルがより可能性の高いソリューションである可能性があります。
プレーンテキストのインデックス作成を設定する
プレーンテキスト BLOB のインデックスを作成するには、インデクサーの作成要求で parsingMode
構成プロパティを text
に設定して、インデクサーの定義を作成または更新します。
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text" } }
}
既定では、UTF-8
エンコードが想定されます。 別のエンコードを指定するには、encoding
構成プロパティを使用します。 サポートされているエンコードのリストは、.NET 5 以降のサポート列にあります。
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "iso-8859-1" } }
}
要求の例
解析モードは、インデクサーの定義で指定されています。
POST https://[service name].search.windows.net/indexers?api-version=2024-07-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" } }
}