Snowflake Connector for SharePoint でCortex Search Serviceをクエリする

注釈

Snowflake Connector for SharePoint は `コネクタ規約<https://www.snowflake.com/legal/snowflake-connector-terms/>`_ に従います。

重要

SharePoint 用Snowflakeコネクタにご興味をお持ちいただきありがとうございます。現在、大幅に改善されたエクスペリエンスを提供する次世代のソリューションに焦点を当てています。したがって、このコネクタを一般提供ステータスに移行することは、現在の製品ロードマップにはありません。このコネクタはプレビュー機能として引き続き使用できますが、将来のバグ修正および改善のサポートは保証されないことに注意してください。新しいソリューションは :doc:` SharePoint 用Openflowコネクタ</user-guide/data-integration/openflow/connectors/sharepoint/about>` として利用可能で、より優れたパフォーマンス、カスタマイズ性、強化された展開オプションが含まれます。

Cortex Search サービスを利用して、チャットや検索アプリケーションを構築し、 SharePoint のドキュメントとチャットしたり、クエリしたりすることができます。

Snowflake Connector for SharePoint をインストールして構成し、Sharepointからのコンテンツの取り込みを開始すると、Cortex Search Serviceにクエリできます。Cortex Search の使用に関する詳細については、Cortex Search serviceをクエリする をご参照ください。

応答をフィルターする

Cortex Searchサービスからの応答を特定のユーザーが SharePoint でアクセスできるドキュメントに制限するには、Cortex Searchのクエリ時に、そのユーザーのユーザー ID またはメールアドレスを含むフィルターを指定することができます。例えば、 filter.@contains.user_ids または filter.@contains.user_emails のようにします。コネクタによって作成されるCortex Searchサービスの名前は、スキーマ Cortexsearch_service です。

SQL ワークシート内で以下の SQL コードを実行し、 SharePoint サイトから取り込んだファイルでCortex Searchサービスをクエリします。

以下を置き換えます。

  • application_instance_name: データベースとコネクタアプリケーションインスタンスの名前。

  • user_emailID: 応答をフィルターしたいユーザーのメール ID。

  • your_question: 応答を得たい質問。

  • number_of_results: 応答で返す結果の最大数。最大値は1000で、デフォルト値は10です。

SELECT PARSE_JSON(
  SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
    '<application_instance_name>.cortex.search_service',
      '{
        "query": "<your_question>",
         "columns": ["chunk", "web_url"],
         "filter": {"@contains": {"user_emails": "<user_emailID>"} },
         "limit": <number_of_results>
       }'
   )
)['results'] AS results
Copy

columns に入力できる値の完全なリストを以下に示します。

列名

説明

full_name

String

Sharepointサイトドキュメントルートからのファイルへのフルパス。例: folder_1/folder_2/file_name.pdf

web_url

String

オリジナルのSharepointファイルをブラウザーで表示する URL。

last_modified_date_time

String

項目の最新変更日時。

chunk

String

Cortex Searchのクエリにマッチしたドキュメントのテキスト。

user_ids

配列

ドキュメントにアクセスできる Microsoft 365ユーザー IDs の配列。ドキュメントに割り当てられているすべてのMicrosoft 365グループのユーザー IDs も含まれます。特定のユーザー ID を探すには、 ユーザーを取得する をご参照ください。

user_emails

配列

ドキュメントにアクセスできるMicrosoft 365ユーザーのメール IDs の配列。ドキュメントに割り当てられているすべてのMicrosoft 365グループのユーザーメール IDs も含まれます。

例:人事(HR)情報について AI アシスタントにクエリする

Cortex Searchを使用して、オンボーディング、行動規範、チームプロセス、組織ポリシーなど、 HR の最新バージョンの情報とチャットする従業員向けの AI アシスタントをクエリできます。応答フィルターを使用すると、 SharePoint で構成したアクセス制御を順守しながら、 HR チームメンバーに従業員契約のクエリを許可することもできます。

SharePoint から取り込んだファイルでCortex Searchサービスをクエリするために、 SQL ワークシート で以下を実行します。データベースをアプリケーションインスタンス名として、スキーマを Cortex として選択します。

以下を置き換えます。

  • application_instance_name: データベースとコネクタアプリケーションインスタンスの名前。

  • user_emailID: 応答をフィルターしたいユーザーのメール ID。

SELECT PARSE_JSON(
     SNOWFLAKE.CORTEX.SEARCH_PREVIEW(
          '<application_instance_name>.cortex.search_service',
          '{
             "query": "What is my vacation carry over policy?",
             "columns": ["chunk", "web_url"],
             "filter": {"@contains": {"user_emails": "<user_emailID>"} },
             "limit": 1
          }'
     )
 )['results'] AS results
Copy

次のステップ

Snowflake Connector for SharePoint の管理