Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Azure Microsoft

Azure AI Search(旧Cognitive Search)の使い方をご紹介(Pythonサンプルあり)

投稿日:2023年8月8日 更新日:

 

<目次>

Azure AI Search(旧Cognitive Search)の使い方をご紹介(Pythonサンプルあり)
 やりたいこと
 概要
 STEP0:前提条件
 STEP1:Azure Cognitive Serachリソースの作成
 STEP2:キーを控える
 STEP3:開発環境のセットアップ
 STEP4:Cognitive Searchへの接続
 STEP5:インデックスの作成(Create an index)
 STEP6:ドキュメントの読み込み(Load documents)
 STEP7:インデックスの検索(Search an index)

Azure AI Search(旧Cognitive Search)の使い方をご紹介(Pythonサンプルあり)

やりたいこと

・Azure AI Search(旧Cognitive Search)を触ってみる。
・インデックスの作り方や、ドキュメントの読込み方、検索の仕方を理解する

概要

おおまかな流れは以下の通り。
 
・①Cognitive Searchへの接続
admin_client = SearchIndexClient(エンドポイント/キーなど)
search_client = SearchClient(エンドポイント/キーなど)↓
・②インデックスの作成
fields = [フィールド1,フィールド2, …]
index = SearchIndex(fieldなどの引数)
admin_client.create_index(index)
・③ドキュメントの読み込み
search_client.upload_documents(documents=documents)
・④ドキュメントの検索
search_client.search(search_text=”xxxx”, include_total_count=True, select='[項目名]’, filter=’[フィルタ条件]’, order_by=’[ソート条件]’)

STEP0:前提条件

STEP1:Azure Cognitive Serachリソースの作成

・①「+作成」
(図111)
・②必要項目を入れて作成
※「価格レベル」は「Standard」にする。理由は「セマンティック検索」がStandardプランでないと使えないため。今回はお試しのため、終了後にリソースを消す。
 
(図112)
(図113)

STEP2:キーを控える

APIコールするための情報を確認する
 
・①「キー」ブレードの「プライマリ管理者キー」を控えておきます(後で使用)
(図121)
・②「概要」ブレードのURLを控えておきます(後で使用)
(図122)

STEP3:開発環境のセットアップ

パッケージのインストール
> pip install jupyter
(図131)
(図132)

STEP4:Cognitive Searchへの接続

※コードは↓の内容をコピペ
 
・①「cognitive-search.ipynb」を作成
→箱単位でPythonの小コードを実行できます。
 
(図141)
・②ライブラリ読込み
(図142)
・③認証&SDKクライアントクラスのインスタンス生成
(図143)
※以降「.env」ファイルが表示されていますが、無視してください
(疎通に必須ではないです。環境変数を隠したい方は調べてみてください)
・④既存のインデックスを一旦削除する
(図144)

STEP5:インデックスの作成(Create an index)

※コードは↓の内容をコピペ
 
・①インデックススキーマの作成
→検索に使う項目を定義
(図151)
・②インデックスの作成
(図152)
・③各セルを実行
(図153)
・④インデックスが作成された
(図154)

STEP6:ドキュメントの読み込み(Load documents)

※コードは↓の内容をコピペ
 
・①ドキュメントの定義
→今回はJson形式でべた書き指定(※実際はコネクタ等で自動収集を想定)
→ドキュメント毎にインデックスのアクション(upload、merge-uploadなど)を定義します。
 
(図161)
・②ドキュメントのロード
(図162)
・③各セルを実行
(図163)
(図164)

STEP7:インデックスの検索(Search an index)

あとは、色々な条件指定で検索してみます!
 
※コードは↓の内容をコピペ
 
・例1:とりあえず疎通
results = search_client.search(search_text="*", include_total_count=True)

print ('Total Documents Matching Query:', results.get_count())
for result in results:
    print("{}: {}".format(result["HotelId"], result["HotelName"]))
(図171)
・例2:wifiがあるホテルを検索
results = search_client.search(search_text="wifi", include_total_count=True, select='HotelId,HotelName,Tags')

print ('Total Documents Matching Query:', results.get_count())
for result in results:
    print("{}: {}: {}".format(result["HotelId"], result["HotelName"], result["Tags"]))
(図172)

Adsense審査用広告コード


Adsense審査用広告コード


-Azure, Microsoft
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Azure App Serviceとは?概要と基本的な使い方をご紹介

  <目次> (1) Azure App Serviceとは?概要と基本的な使い方をご紹介  (1-1) Azure App Serviceとは?  (1-2) Azure App Serv …

Microsoft Azureとは?概要や特徴および利用方法についての解説

(0)目次&概説 (1) Azureとは?  (1-1) IaaSとは?  (1-2) PaaSとは?  (1-3) IDaaSとは? (2) Azureのデータセンター  (2-1) Azureのデ …

Excelで「接続しています」で開くのが遅い場合の解除方法

  <目次> (1) Excelで「接続しています」で開くのが遅い場合の解除方法  (1-1) 発生事象  (1-2) 原因  (1-3) 対処  (1-4) 参考:他のOffice製品の対 …

Azure DevOpsのwikiを別プロジェクトに移動する方法

<目次> (1) Azure DevOpsのwikiを別プロジェクトに移動する方法  (1-1) 概要  (1-2) 手順(wikiの移行)  (1-3) 補足(PBIの移行方法) (1) Azure …

Azure StorageでSASトークン発行時の「使用できるリソースの種類」の意味について

  <目次> (1) Azure StorageでSASトークン発行時の「使用できるリソースの種類」の意味について  (1-1) 知りたいこと  (1-2) 「使用できるリソースの種類」の説 …

  • English (United States)
  • 日本語
Top