記事公開日
最終更新日
Azure AI Search (旧称 "Azure Cognitive Search") の検索エクスプローラ活用

今回は「Azure AI Search」のポータル画面で使用できる検索エクスプローラの機能について紹介したいと思います。
検索エクスプローラを使用すると登録されているドキュメントに対して検索結果を手軽に確認できる便利な機能です。
ただ、UI上から設定できるパラメータには限りがあり、フィルターなどの詳細なパラメータは知識が必要です。
そのため、パラメータについて紹介していきたいと思います。
事前に以下のファイルを登録してあります。
# | ファイル名 | Category | Department | Content |
---|---|---|---|---|
1 | DummyA.pdf | AAA | XXX部 | Dummy |
2 | DummyB.pdf | BBB | YYY部 | Dummy |
3 | DummyC.pdf | CCC | XXX部 | Hoge |
4 | DummyD.pdf | DDD | YYY部 | Dummy Hoge |
5 | DummyE.pdf | AAA | XXX部 | PDF File |
フィルター
フィルターを使用すると特定のフィールドに対してフィルターを設定することが可能です。いくつかファイルが存在している場合、カテゴリがAAAの中から検索したい場合などに便利です。
フィルターを行うためには、インデックスを定義する際に「フィルター可能」のチェックボックスをONにしておく必要があります。
具体的にどのようにフィルターを指定するのか手順を以下に記載していきます。
※クエリビューとJSONビューの2つがありますが、今回は見やすさ重視でJSONビューを使用します。
1.検索エクスプローラを開きます
2.「表示」をクリックし、表示されたプルダウンメニューから「JSONビュー」を選択します(JSON クエリ エディターが表示されます)
3.JSON クエリ エディター内の文字列を以下のように修正します。
{ "search": "*", "filter": "Cateogry eq 'AAA'" }4.結果から分かる通り、CategoryがAAAのものだけ検索結果に表示されました。
{ "value": [ { "@search.score": 1, "Category": "AAA", "metadata_storage_name": "DummyE.pdf" }, { "@search.score": 1, "Category": "AAA", "metadata_storage_name": "DummyA.pdf" } ] }
ファセット
ファセットを使用すると検索結果に対して絞り込み条件のヒントが得られます。大量の検索結果がある場合に、CategoryがAのものが何件、Bのものが何件といった情報が得られます。
この情報を使用してCategoryがBのものでフィルターをかけてみようといった対応が取れます。
ファセットを行うためには、フィルター同様にインデックスを定義する際に「ファセット可能」のチェックボックスをONにしておく必要があります。
具体的にどのようにファセットを指定するのか手順を以下に記載していきます。
1.検索エクスプローラを開きます
2.「表示」をクリックし、表示されたプルダウンメニューから「JSONビュー」を選択します(JSON クエリ エディターが表示されます)
3.JSON クエリ エディター内の文字列を以下のように修正します。
{ "search": "*", "facets": ["Department", "Category"] }
@search.facets": { "Department": [ { "count": 3, "value": "XXX%E9%83%A8" }, { "count": 2, "value": "YYY%E9%83%A8" } ], "Category": [ { "count": 2, "value": "AAA" }, { "count": 1, "value": "BBB" }, { "count": 1, "value": "CCC" }, { "count": 1, "value": "DDD" } ] }
検索モード
検索モードを使用すると既定ではOR検索ですがAND検索にすることが可能です。"xxx yyy"と検索した場合、xxxもしくはyyyが含まれるものが検索結果に表示されます。
これを検索モードを指定することでxxxとyyy両方を含んでいるもののみ検索結果に表示することが可能です。
※"xxx +yyy"のように「+」を使った動きと同等の動き
具体的にどのように検索モードを指定するのか手順を以下に記載していきます。
1.検索エクスプローラを開きます
2.「表示」をクリックし、表示されたプルダウンメニューから「JSONビュー」を選択します(JSON クエリ エディターが表示されます)
3.JSON クエリ エディター内の文字列を以下のように修正します。
{ "search": "Dummy Hoge", "searchMode": "all" }4.結果から分かる通り、DummyとHogeが含まれるもののみが表示されました。
{ "value": [ { "@search.score": 0.51623213, "metadata_storage_name": "DummyD.pdf" } ] }
Top、Skip
TopとSkipを使用するとページングが可能になります。既定では最大50件までしか表示されませんが、Topを使用することで最大1000件まで一度に表示することが可能です。
また、Skipを使用することで1001件目以降の結果も確認することが可能です。
具体的にどのようにTopとSkipを指定するのか手順を以下に記載していきます。
1.検索エクスプローラを開きます
2.「表示」をクリックし、表示されたプルダウンメニューから「JSONビュー」を選択します(JSON クエリ エディターが表示されます)
3.JSON クエリ エディター内の文字列を以下のように修正します。
{ "search": "Dummy Hoge", "top": 2, "skip":2, "orderby": "metadata_storage_name", // 順番が分かりやすいようにファイル名順にソート }4.結果から分かる通り、3番目以降の2件の検索結果が得られました。
{ "value": [ { "@search.score": 0.80259144, "metadata_storage_name": "DummyC.pdf" }, { "@search.score": 0.51623213, "metadata_storage_name": "DummyD.pdf" } ] }
まとめ
クエリに指定可能なパラメータを知っておくことで色々な場面で使えるようになります。特にAI Searchと連携したWebアプリケーションの開発や生成AIと連携したRAGシステムの構築時等にパラメータの指定は必要不可欠になってきます。
ご紹介できなかった他のパラメータもありますのでこんなことができたらいいな等、ご質問ありましたらご支援させていただきますので
是非、以下の「お問い合わせフォーム」から気軽にお問合せください!
QESでは、Microsoft製品やAWS製品に関するソリューションに取り組んでおります。
他プロダクトに関するブログも投稿しておりますので是非ご覧ください。
また、QESでは採用活動を強化しております。
ブログを読んで弊社の業務内容に興味を持っていただけましたら、採用情報にもお目通しいただければ幸いです。
https://www.qes.co.jp/recruit.html
※このブログで参照されている、Microsoft、Windows、Azureその他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。