🔍

Azure AI Search で SharePoint のファイルを検索させることの是非

に公開

はじめに

先日の Microsoft AI Tour Tokyo 2025 において Microsoft MVP として Connection Hub (Azure AI Search) の対応をさせていただく機会がありました。その中でもご質問いただくことが多かったのは「Azure AI Search で SharePoint のファイルを検索させたい」という内容でした。この点についての所感を書くことにします。

Azure AI Search が必要な理由

Azure AI Search は名前の通り AI プラットフォームの製品の一員です。もともとは Azure Search という製品で、Azure Cognitive Search という名前を経て、現在の名前になっています。なぜ AI かというと、LLM と組み合わせた RAG の構築に最適化されている、というのが理由になります。他の AI サービスとの組み合わせによる画像データの検索やベクター検索をサポートしているのが特長です。

SharePoint にも古くからの検索プラットフォームが存在します。かつては SharePoint FAST Search と呼ばれたもので、いまは Microsoft Search という名前になっています。Microsoft Search は SharePoint だけではなく Microsoft 365 全体を検索できるよう進化しています。ここで問題なのは「なぜ SharePoint の検索を使わずにわざわざ Azure AI Search を使わなければならないのか」という点にあります。

理由のひとつは「Azure OpenAI Web アプリを使っているから」です。Azure OpenAI Service にはプレイグラウンドから簡単に Web アプリをデプロイする機能があります。

https://learn.microsoft.com/ja-jp/azure/ai-services/openai/how-to/use-web-app?WT.mc_id=M365-MVP-5002941

この Azure OpenAI Web アプリに SharePoint のファイルを検索したいという要望を聞きます。Azure OpenAI Web アプリは On Your Data を使って Azure AI Search と接続できます。そこで Azure AI Search で SharePoint のファイルを検索させたいということになるわけです。

別の理由としてあるのは「SharePoint の検索精度が悪いから」です。これについては後述するようにいくつか理由があるのですが、AI 機能を搭載した Azure AI Search なら解決できると考えている方が多いようです。

SharePoint の検索精度が悪い原因

厳しい言い方をすると、SharePoint の検索精度が悪いと考えている人のほとんどは、定性的な評価をしているように感じます。要するに感覚で言っているに過ぎません。もちろん SharePoint にも原因がないわけではありません。クロールの失敗やサイトの言語設定のせいで思ったような結果が出てこない事象は存在します。ただ、それを除外して、本当に SharePoint の検索精度が悪いと定量的に評価しているでしょうか。定量的に評価していないと、Azure AI Search にしても本当に検索精度が上がったのかの確認ができませんし、おそらく満足しない結果になります。

SharePoint の問題を除外しても、ファイルの問題で検索がうまくいかないことはよくあります。Excel 方眼紙でドキュメントを書いているということはないでしょうか。縦書きにするため 1 文字ずつ改行していないでしょうか。Office 97-2003 形式のフォーマットを使っていないでしょうか。こうしたファイルは検索のためにテキスト化するプロセスで問題となる可能性があります。これを Azure AI Search にしても解決はしません。SharePoint に別名のファイルを作ってバージョン管理していないでしょうか。SharePoint では「重複するファイルは除外する」という設定がありますが、Azure AI Search にはないため、逆に精度を下げる可能性があります。

https://learn.microsoft.com/ja-jp/graph/search-concept-trim-duplicate?WT.mc_id=M365-MVP-5002941

SharePoint はファイル サーバーではありません。まずは SharePoint の使い方を理解して SharePoint をきれいに使うことが精度改善への確実な方法です。これをアーキテクチャを変えれば改善するというのは間違いです。

Azure AI Search の問題点

Azure AI Search にも SharePoint インデクサーがあります。

https://learn.microsoft.com/ja-jp/azure/search/search-howto-index-sharepoint-online?WT.mc_id=M365-MVP-5002941

現時点でプレビューということもあり、インデクサーの実行をスケジュールできなかったり、増分の更新ができないなどの問題点があります。また、Azure AI Search では組み込みのアクセス制御リスト (ACL) の機能がなく、SharePoint から取り込まれたファイルは全員が検索可能となります。インデクサーを使わないプッシュ型であればアクセス制御リスト (ACL) をインデックスに取り込むことができますが、SharePoint のアクセス許可の概念 (SharePoint グループ、セキュリティ グループ、固有のアクセス許可、共有リンクなど) を反映させるのは困難です。

Microsoft 365 の AI サービスの活用

ユースケースによっては Azure OpenAI Web アプリを使わなくとも Microsoft 365 Copilot や SharePoint エージェントを使えば済むことがあります。Microsoft 365 Copilot はライセンスが高く費用対効果を見込めないという懸念も聞きます。しかし、カスタムで作り込む場合の運用も含めた費用を考えれば、決して割高ではありません。SharePoint エージェントは従量課金制も設定できます。SharePoint Syntex を導入すれば、画像データのテキスト化のような Azure AI Search と同等の機能を有効にできます。

Microsoft 365 Copilot のライセンスが調達できない場合でも、Microsoft Search の API を使って RAG アプリを構築する方法があります。API を呼び出すだけなので Power Platform にある程度慣れた人であれば簡単に作ることができます。

おわりに

Azure AI Search を触れば触るほど、アーキテクチャーとしての SharePoint の検索はよくできていると思うので、もっと使ってあげてほしいです。あとはいつ実装されるかわからないセマンティック インデックスに期待したいです。

Discussion