Azure AI Search でプレーンテキスト BLOB とファイルのインデックスを作成する

適用対象: BLOB インデクサーファイル インデクサー

フルテキスト検索のためにインデクサーを使用して検索可能な BLOB テキストまたはファイルの内容を抽出する際に、解析モードを割り当てることで、インデックス作成でより良い結果を得られます。 既定では、インデクサーは BLOB の content プロパティをテキストの 1 つのチャンクとして解析します。 ただし、すべての BLOB およびファイルに同じエンコードのプレーンテキストが含まれている場合、text 解析モードを使用してインデックス作成のパフォーマンスを大幅に改善できます。

解析のtextおすすめには、次のいずれかの特性があります。

  • ファイルの種類は .txt
  • どの種類のファイルでも、コンテンツそのものがテキストの場合 (プログラムのソース コード、HTML、XML など)。 マークアップ言語のファイルの場合、構文文字は静的テキストとして使用されます。

すべてのインデクサーは JSON にシリアル化されることを思い出してください。 既定では、テキスト ファイル全体の内容は、1 つの大きなフィールド内で次のように "content": "<file-contents>"インデックスが作成されます。 新しい行と戻り値の命令がコンテンツ フィールドに埋め込まれており、次のように \r\n\表されます。

より洗練された、または詳細な結果が必要で、ファイルの種類に互換性がある場合は、次の解決策を検討してください。

コンテンツを複数の部分に分割するための代替の 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" } }
}

次のステップ