Slide 1

Slide 1 text

Microsoft SearchとMicrosoft GraphコネクタとGraph 2022.08 .NETラボ

Slide 2

Slide 2 text

誰? Takas(@DevTakas) Angular / Azure / .NET Core / Azure DevOps / Microsoft Graph Microsoft MVP Office Development

Slide 3

Slide 3 text

誰? ブログやってます http://takasdev.hatenablog.com/ 「はまったりひらめいたり…とか…」

Slide 4

Slide 4 text

本日のゴールとおしながき 本日のゴール:Microsoft Searchを自分のアプリで利用する! 1. Microsoft Searchについて 2. Microsoft Graphコネクタについて 3. JavaScriptからMicrosoft Search APIを利用する 4. まとめ

Slide 5

Slide 5 text

1. Microsoft Searchについて

Slide 6

Slide 6 text

1. Microsoft Searchについて • 人、ファイル、組織のグラフ、サイトなどを取得できる • 個人ベースでの使用となる • 個人が持つアクセス権や分析情報をベースにする • 人によって結果が異なる可能性がある • 外部コンテンツに対しても検索可能 • Microsoft365全体を検索対象とすることが可能 Microsoft Searchとは

Slide 7

Slide 7 text

1. Microsoft Searchについて • Microsoft 365のあらゆるデータ • Share Point, OneDrive, Exchange… • 外部コンテンツ • Azure Data Lake, CSV, SQL Database, Azure DevOps… • アプリ特有の情報 • 関数など Microsoft Searchで検索できるもの

Slide 8

Slide 8 text

1. Microsoft Searchについて Microsoft Searchの使い方 WebのOfficeから bingから Windowsから

Slide 9

Slide 9 text

1. Microsoft Searchについて • Microsoft365管理センターから設定可能 Microsoft Searchの設定

Slide 10

Slide 10 text

1. Microsoft Searchについて • 色々な回答を設定することも可能 Microsoft Searchの設定

Slide 11

Slide 11 text

1. Microsoft Searchについて • 色々な回答を設定することも可能 Microsoft Searchの設定

Slide 12

Slide 12 text

2.Microsoft Graphコネクタについて

Slide 13

Slide 13 text

2. Microsoft Graphコネクタについて • サードパーティデータにインデックスをつけて Microsoft Searchで検索できるようになる • Microsoft Searchを使ってサードパーティデータを検索できる • E5にはインデックスクォーター500項目の権利込み Microsoft SearchにおけるMicrosoft Graphコネクタとは

Slide 14

Slide 14 text

2. Microsoft Graphコネクタについて • 設定できるコネクタは様々 Microsoft SearchにおけるMicrosoft Graphコネクタとは

Slide 15

Slide 15 text

2. Microsoft Graphコネクタについて Microsoft Graphコネクタの設定(例:Azure SQL Database)

Slide 16

Slide 16 text

2. Microsoft Graphコネクタについて • 接続基本情報の設定 Microsoft Graphコネクタの設定(例:Azure SQL Database)

Slide 17

Slide 17 text

2. Microsoft Graphコネクタについて • 接続情報の設定 Microsoft Graphコネクタの設定(例:Azure SQL Database)

Slide 18

Slide 18 text

2. Microsoft Graphコネクタについて • 検索対象の抽出クエリ作成 Microsoft Graphコネクタの設定(例:Azure SQL Database)

Slide 19

Slide 19 text

2. Microsoft Graphコネクタについて • 検索対象の抽出クエリ作成(増分) Microsoft Graphコネクタの設定(例:Azure SQL Database)

Slide 20

Slide 20 text

2. Microsoft Graphコネクタについて • ラベルの割当 Microsoft Graphコネクタの設定(例:Azure SQL Database)

Slide 21

Slide 21 text

2. Microsoft Graphコネクタについて • Indexとなるスキーマ管理 Microsoft Graphコネクタの設定(例:Azure SQL Database)

Slide 22

Slide 22 text

2. Microsoft Graphコネクタについて • 検索結果のアクセス許可 Microsoft Graphコネクタの設定(例:Azure SQL Database)

Slide 23

Slide 23 text

2. Microsoft Graphコネクタについて • 更新頻度 Microsoft Graphコネクタの設定(例:Azure SQL Database)

Slide 24

Slide 24 text

2. Microsoft Graphコネクタについて • 結果 Microsoft Graphコネクタの設定(例:Azure SQL Database)

Slide 25

Slide 25 text

2. Microsoft Graphコネクタについて • Microsoft Graphコネクタエージェントが必要 • 推奨環境はちょい重 • Azure ADアプリケーションの作成が必要 • ExternalItem.ReadWrite.OwnedBy • ExternalItem.ReadWrite.All • ドキュメントに記載ないがこれも必要 • Directory.Read.All • ファイル共有、MS SQL、Oracle SQLコネクタで必要 • シークレットor証明書による認証 Microsoft Graphコネクタの設定(オンプレリソースの利用)

Slide 26

Slide 26 text

2. Microsoft Graphコネクタについて Microsoft Graphコネクタで接続したデータを参照する(OnPre)

Slide 27

Slide 27 text

2. Microsoft Graphコネクタについて Microsoft Graphコネクタで接続したデータを参照する(デモ)

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

3. JavaScriptからMicrosoft Search APIを利用する

Slide 30

Slide 30 text

3. JavaScriptからMicrosoft Search APIを利用する • Microsoft Search APIをMicrosoft Graphから使用できる • Microsoft365、コネクタを通して外部リソースも検索可能 • 前述の通りユーザーベースの検索結果となる Microsoft Graphから提供されるWeb API Microsoft Graph Microsoft Search API Graph Connector

Slide 31

Slide 31 text

3. JavaScriptからMicrosoft Search APIを利用する • Graphを通して検索を行う際は ADアプリに対応するアクセス許可が必要となる • メッセージの検索:Mail.Read • Teamsのメッセージ検索:Chat.Read • イベントの検索:Calendars.Read • 外部リソース:External.Read.All … Microsoft Graphから提供されるWeb API

Slide 32

Slide 32 text

3. JavaScriptからMicrosoft Search APIを利用する POST https://graph.microsoft.com/v1.0/search/query Microsoft Graphから提供されるWeb API { "requests": [ { "entityTypes": [ "event" ], "query": { "queryString": "contoso" } } ] } { "requests": [ { "entityTypes": [ "externalItem" ], "contentSources": [ "/external/connections/azuresqlconnector", "/external/connections/azuresqlconnector2" ], "query": { "queryString": "*" } } ] } 検索文字列 検索文字列 コネクタ 予定の検索 外部リソースの検索 複数のリソースを対象に、とか単一のリソースを対象に検索を行うことができる

Slide 33

Slide 33 text

3. JavaScriptからMicrosoft Search APIを利用する POST https://graph.microsoft.com/v1.0/search/query Microsoft Graphから提供されるWeb API { "value": [ { "searchTerms": [ "sampleevent" ], "hitsContainers": [ { "hits": [ { "hitId": “…", "rank": 1, "summary": "", "resource": { } } ], "total": 1, "moreResultsAvailable": false } ] } ], "@odata.context": “…" } 検索した文字列 検索結果 検索結果の実データ (イベントなど) …

Slide 34

Slide 34 text

3. JavaScriptからMicrosoft Search APIを利用する Microsoft Graphから使用してみる(デモ)

Slide 35

Slide 35 text

3. JavaScriptからMicrosoft Search APIを利用する • from/size: ページング。ページの開始、1ページあたりの結果数 • fields: 選択したプロパティを取得 • sortProperties: 並び替え • 等々・・・ Microsoft Graphから使用してみる(様々なクエリ) { requests: [ { entityTypes: [ "listItem" ], query: { queryString: "contoso" }, fields: [ "title", "contentclass" ], from: 0, size: 25, aggregations: [ { … } ] } ] }

Slide 36

Slide 36 text

3. JavaScriptからMicrosoft Search APIを利用する • オンプレシステムのマスタデータ提供サービスの代替など 利用シーンを考えてみる オンプレシステムA オンプレシステムB オンプレシステムC connectorid-1 connectorid-2 connectorid-3 オンプレサービスと同じコード体系で運用したい Webサービス デスクトップアプリ等

Slide 37

Slide 37 text

3. JavaScriptからMicrosoft Search APIを利用する • 複数Organization、ProjectのWikiを集約して検索(Preview) 利用シーンを考えてみる connectorid-1 connectorid-2 connectorid-3

Slide 38

Slide 38 text

まとめ

Slide 39

Slide 39 text

まとめ • Microsoft SearchはM365の多くのデータを検索できる • Microsoft Searchのカスタムコネクタで外部リソースも対応可能 • Microsoft Graphを通すことでアプリに検索を組み込める Microsoft Graph オリジナルアプリ Microsoft Search API Graph Connector 検索結果

Slide 40

Slide 40 text

参考ページ • Microsoft Search の概要 • https://docs.microsoft.com/ja-jp/microsoftsearch/overview-microsoft-search • Microsoft Search の Microsoft Graph コネクタの概要 • https://docs.microsoft.com/ja-jp/microsoftsearch/connectors-overview • ライセンスの要件と価格 • https://docs.microsoft.com/ja-jp/microsoftsearch/licensing • Microsoft Graph connectors • https://www.microsoft.com/microsoft-search/connectors/ • Microsoft Graph コネクタ エージェント • https://docs.microsoft.com/ja-jp/microsoftsearch/graph-connector-agent • Microsoft Graph の Microsoft Search API の概要 • https://docs.microsoft.com/ja-jp/graph/search-concept-overview