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 Machine LearningからAzure StorageのFile Shares(ファイル共有)のデータにアクセスする方法

  <目次> (1) Azure Machine LearningからAzure StorageのFile Shares(ファイル共有)のデータにアクセスする方法  やりたいこと  (1-1 …

Exchange Onlineとは?

  <目次> (1) Exchange Onlineとは?  (1-1) 概要/特徴  (1-2) Exchange Onlineを使える人は?  (1-3) Exchange Online …

Azureのリージョンとは?概要や選ぶ時の基準についてご紹介

  <目次> (1) Azureのリージョンとは?概要や選ぶ時の基準についてご紹介  (1-1) データセンターとは?  (1-2) リージョンは世界中に分散している  (1-3) リージョ …

PDFをテキスト化する方法(Azure Cognitive Service)

  <目次> (1) PDFをテキスト化する方法(Azure Cognitive Service)  やりたいこと  概要  STEP0:前提条件  STEP1:Azureのリソース作成   …

Azureリソースグループの作り方の手順について

  <目次> (1) Azureリソースグループの作り方の手順について  (1-1) Azureリソースグループとは?  (1-2) Azureリソースグループの作成手順  (1-3) Az …

  • English (United States)
  • 日本語
Top