SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Azure Serach クックブック
JAZUG 7周年総会
2017.9.9
「三宅@ZEN」
 株式会社ゼンアーキテクツ共同創業者CTO
﹣常時5〜10のAzure導入プロジェクトに参画
 コミュニティ等
﹣Microsoft MVP (Data Platform)
﹣「PaaSがかり」ブログやってます
﹣Xamarin、Vue.jsなども好き
 その他どうでもいいこと
﹣ 元銀行員
﹣趣味はラジコンのレース(わりとガチ)
Blog: k-miyake.github.io/blog/
Twitter: @kazuyukimiyake
Azure Search使ってますか?
 世の中的にあまり使われている気がしない..
 最近、記事やセッションもあまりみかけない..
• 自分のプロジェクトでは約8割でSearchを利用してます
Azure Search利用事例
API Apps
Search
Cosmos
DB
Blob
Storage
認証
App Service
Microsoft Azure
Storage
Queue
Blob
Storage
Functions
Storage
Queue
Cosmos
DB
Cognitive
Services
Machine
Learning
Functions
PC Clients(Windows/Mac)Mobile Clients(iOS/Android)
API Gateway
外部システム
Application
Insights
Azure
Monitor
Web Apps
Token
.NET
Identity Framework
REST/OAuth2
SPA (Browser App)SPA (Browser App)
負荷モニター/オートスケール
「一覧」「絞り込み」「全文検索」
などのフロント機能はAzure Searchを利用
富士フイルム「IMAGE WORKS」
IMAGE WORKS:一覧画面
一覧表示
全文検索
Azure Searchおすすめコンテンツ
de:codeセッション資料
﹣日本MSブラックベルトの川崎さん
﹣2016と2017どちらも参考になります
• 2016: https://channel9.msdn.com/Events/de-code/2016/DEV-018
• 2017: https://channel9.msdn.com/Events/de-code/2017/DI08
日経クラウドファースト9月号
﹣全文検索サービス特集(AWSの記事もあり)
﹣Azrure Searchの執筆はZEN岡・三宅で担当しました
本日のAgenda
1. Azure Searchおさらい
2. Azure Search適用パターン
3. デモなどその他
1. Azure Searchおさらい
Azure Searchの位置付け
Azure PaaS(SaaS説あり)の検索サービス
﹣検索エンジン
﹣インデックス(データ)
﹣インデクサー(クローラー)
Elasticsearchがベース
﹣Azure上のFess的位置付け
• Fess: Apache Solrを使った検索サーバ
Azure Searchの全体像
Blob StorageTable StorageAzure
SQL Database
Cosmos DBAzure VM の
SQL Server
Index
Indexer
Search Engine
Parser
Analyzer
Azure Search
検索文字列
検索クライアント
検索対象データソース
検索処理
インデクシング
データ蓄積 テキスト解析
Azure Searchの処理フロー
Parser
Search
Engine
Analyzer
Indexer
インデックス
Analyzed
terms
Query
terms
Query
tree
Query
text
Documents
terms
Analyzed
terms
Retrieve Ingest
Analyzer
検索処理
• トークンの引き当て
• ランキング処理• クエリ文の解析
• 内部クエリ―形式に変換
テキスト解析、トークンの展開
転置インデックス
インデクシング
JSON
ドキュメント
Azure Searchの特長
OSSの技術を応用
﹣Elasticsearch、 Lucene
インデクサーがある
﹣Azureの各データストアと連携
選択可能なアナライザー
検索クライアントの各種サポート機能
﹣フィルタ、ファセット、サジェスト etc..
インデクサー(Index Writer)
インデックス(データ)を作成する処理系
﹣≒クローラー
﹣全文検索システムでわりとハードルが高い分野
Azureの各データストアと連携
﹣SQL DB、Cosmos DBなど
﹣基本はコード不要
カスタムインデクサー
﹣コードによるカスタマイズ
Indexer
Documents
terms
Analyzed
terms
Analyzer
インデクシング
インデックス
アナライザー
テキストを解析してトークン化する処理系
2つのアナライザーから選択可能
﹣Lucene Analyzer(ElasticsearchやSolrでも採用 )
﹣Microsoft Analyzer
日本語サポート
﹣ja.lucene(kuromoji)
• 形態素解析ライブラリ
• https://github.com/atilika/kuromoji
Parser
Analyzer
Indexer
Analyzer
Analyzed
terms
Query
terms
Documents
terms
検索処理 インデクシング
テキスト解析、トークンの展開
スコアリング
検索ランキングの算出
﹣クエリに対するドキュメントの関連性の評価結果がソート
された結果
﹣SQLのLikeと最も異なる点
TF-IDFでスコアリング
﹣文書の中でのそのキーワードの重み、特徴度を表す値
スコアリングプロファイルのチューニング
﹣Tagブースト、freshnessブースト etc.
基本的な検索
全文検索
﹣ドキュメントから文字列を評価
﹣アナライザーを使う
• Lucene query syntaxが使える
• “queryType”: “full”
フィルター
﹣特定フィールドの絞り込み
﹣SQLのWhere句に近い
﹣Odata式を使う
{
"wikipediaid": 1836865,
"name": "ホンダ・ビート",
"note": "ビート(Beat)は、本田技研工業がかつて生
産、販売していたオープン2シーターの軽自動車であ
る。",
"constructor": "ホンダ",
"drive": "MR",
"year": 1991,
"id": "3e3fba2d-5400-4dd9-9f83-dfdd1b4e830a"
}
“filter”: “constructor eq ‘ホンダ’ and year gt 1989”
“search”: “オープン 軽自動車"
ファセット・ナビゲーション
ドリルダウンナビゲーションを提供するフィルター処理の一種
スキーマで「facetable:true」で登録されているフィールドを使用
/indexes/rcindex/docs?...
&facet=review
&facet=price
&facet=condition
&search=タミヤ%20ラジコン
その他の検索サポート機能
サジェスト
ヒット文字列の強調表示(ハイライト)
ソート/ページング
地理空間検索
検索トラフィック分析
Blobストレージへの出力
Application Insightsと連携
﹣検索要求が発行されるタイミングで、
Application Insights のカスタムイベントを発行する
appInsights.trackEvent( "Search", {
SearchServiceName: "<service name>",
SearchId: "<search id>",
IndexName: "<index name>",
QueryTerms: "<search terms>",
ResultCount: "<results count>",
ScoringProfile: "<scoring profile used>"
});
プロビジョニング
サービスの導入自体はシンプル
﹣リソース名とSKUを決めるくらい
リージョン
﹣国内は西日本のみ…
﹣データソースと同一が望ましい
リソースグループグループ
﹣データソースと同一だと、インデクシングで少し楽に
スケール
スケールアップ
﹣Free、Basic、Standard(S1, S2, S3)
スケールアウト(Standard)
﹣レプリカ: 検索サイドのスケール
﹣パーティション: データサイドのスケール
注意したいこと
• 料金は レプリカ x パーティションで算出される!
• スケールアップは再プロビジョニングが必要(残念・・)。
2. Azure Search適用パターン
適用パターン
パターン1: RDB負荷軽減パターン
パターン2: Cosmos DB併用パターン
パターン3: Office文書検索パターン
パターン1: RDB負荷軽減パターン
 解決する課題
﹣SQL DatabaseなどRDBへのクエリー負荷を軽減し、全文
検索も実現したい。
RDBにAzure Searchを組み合わせることで、絞り
込み検索や一覧表示に使うクエリー機能をAzure
Searchにオフロードする
RDB負荷軽減パターンのアーキテクチャ
Search
App Service
Web Apps
SQL Database
自動インデクサーによる
差分データ更新
検索結果・
ファセット・
スコア
・ 一覧・絞り込み、検索はSearchへ
・ 詳細データ取得・更新はSQL DBへ
絞り込み検索/
全文検索
詳細データ取得・更新
(キーによるアクセス)
パターン1のねらい・期待効果
 RDB側へのクエリー負荷を軽減
﹣(余裕すぎる)パフォーマンスレベルの見直しが可能(かも)
 一覧、絞り込み機能のユーザビリティ改善
﹣一覧表示パフォーマンス向上
﹣ファセット・ナビゲーションの利用
 全文検索機能の提供
﹣Like検索では実現できなかった精度の高い全文検索
• 高精度: 関連性、スコアのある検索結果
自動インデクサーの活用
 コード不要でインデックスの作成・更新が可能
﹣新規作成時は「データのインポート」機能で完結
• クエリである程度のデータ調整が可能
﹣更新はSearchに付属のスケジューラが定期実行
サポートされているデータソース
Blob StorageTable StorageAzure
SQL Database
Cosmos DBAzure VM の
SQL Server
データソースの設定
SQL DBは、GUIの場合、単一のテーブル
/ビューのみ選択可能。
データソースをカスタマイズしたい場合
は、REST API か SDKを使う
インデックススキーマの設定
フィールドの定義
﹣データ型
﹣各種プロパティ
作成方法
﹣ポータル(GUI)
﹣REST API, SDK
プロパティはを変更するには
インデックス全体の再作成となる。
インデクサーの設定
 スケジュール
﹣実行タイミング
﹣頻度
﹣開始時刻
 詳細オプション
﹣エラー関連
﹣バッチサイズ
クエリ例: 全文検索
// クエリ(REST)
POST https://*******.search.windows.net/indexes/carindex-sql/docs/search?api-version=2016-09-01
Content-Type: application/json
Accept: application/json
api-key: *************
{
"search": "オープン2シーター",
"select": "Name, Constructor, Note"
}
// 結果
{
"value": [
{
"@search.score": 0.8203498, "Name": "ホンダ・ビート", "Constructor": "ホンダ",
"Note": "ビート(Beat)は、本田技研工業がかつて生産、販売していたオープン2シーターの軽自動車である。"
},
{
"@search.score": 0.6801461, "Name": "S2000", "Constructor": "ホンダ",
"Note": "S2000(エスにせん)は、本田技研工業がかつて生産、販売していたFRオープン2シーターのスポーツカーである。"
},
{
"@search.score": 0.5865794, "Name": "トヨタ・MR-S", "Constructor": "トヨタ",
"Note": "トヨタ・MR-S(エムアール-エス)とは、オープンタイプ(手動ソフトトップ)のスポーツカーで・・・(以下省略)。"
}]
}
全文検索の文字列と、検索結果で表示し
たいフィールドを指定
アナライザーによってヒットしたと
思われる単語
検索結果スコア
クエリ例: フィルタとファセット
// クエリ(REST)
POST https://*******.search.windows.net/indexes/carindex-sql/docs/search?api-version=2016-09-01
Content-Type: application/json
Accept: application/json
api-key: *************
{
"filter": "Year gt 1987 and Year lt 1994",
"facets": [ "Year", "Constructor" ]
}
// 結果
{
"@search.facets": {
"Year": [
{ "count": 4, "value": 1989 },
{ "count": 4, "value": 1992 },
{ "count": 3, "value": 1990 },
(以下省略)
],
"Constructor": [
{ "count": 3, "value": "ホンダ" },
{ "count": 2, "value": "フェラーリ" },
{ "count": 2, "value": "ポルシェ" },
(以下省略)
]
}
}
フィルタの条件式(Odata式)とファセット
の結果を表示したいフィールドを指定
「Year」で絞り込まれた結果を、ファセッ
トの結果(Year毎の集計件数)
「Year」で絞り込まれた結果と、ファセット
の結果(Constructor毎の集計件数)
参考: REST(POST)のRequest Body
{
"count": true | false (default),
"facets": [ "facet_expression_1", "facet_expression_2", ... ],
"filter": "odata_filter_expression",
"highlight": "highlight_field_1, highlight_field_2, ...",
"highlightPreTag": "pre_tag",
"highlightPostTag": "post_tag",
"minimumCoverage": # (% of index that must be covered to declare query successful; default 100),
"orderby": "orderby_expression",
"scoringParameters": [ "scoring_parameter_1", "scoring_parameter_2", ... ],
"scoringProfile": "scoring_profile_name",
"search": "simple_query_expression",
"searchFields": "field_name_1, field_name_2, ...",
"searchMode": "any" (default) | "all",
"select": "field_name_1, field_name_2, ...",
"skip": # (default 0),
"top": #
}
検索: https://docs.microsoft.com/ja-jp/rest/api/searchservice/search-documents
luceneクエリ: https://docs.microsoft.com/ja-jp/rest/api/searchservice/lucene-query-syntax-in-azure-search
[DEMO]
 SQL DBからのインデックス作成
 REST APIによるクエリ
パターン2: Cosmos DB併用パターン
解決する課題
﹣高速なNoSQLデータベースのCosmos DBを利用したい
が、コストはある程度抑えたい。
Azure Searchを併用することで、Cosmos DBへの直接クエ
リーを減らしスループットのコスト(RU)を平準化す
る
Cosmos DBのポータル
ポータルにメニューあり
Cosmos DBとSearchは
相性が良い
﹣Searchの利用が前提?
Cosmos DB併用パターンのアーキテクチャ
Cosmos DB
(DocumentDB API)
Search
App Service
Web Apps
絞り込み/
全文検索詳細データ参照
データ更新とほぼ同時に
インデックスが更新される
Storage Queue
更新トリガー
更新元
インデックス更新データ更新
Functions
パターン2の狙い・期待効果
 Cosmos DBではスループット(RU)が事前予約制
﹣スパイクなどに対応するのが(コスト面で)苦労する
﹣特に一覧・検索はRU消費が高くなりがち
 一覧・検索はSearchに逃がす
﹣Cosmos DBへの直接クエリーを減らす
﹣RU消費を安定させる
 ほぼリアルタイムのインデックス更新が可能
﹣非同期更新処理というCosmos DBの特性を生かす
リアルタイムにインデックスを更新
 Cosmos DB自体のデータ更新をトリガーにする
﹣キューを介した更新の連鎖
﹣Functions等でのインデックス更新処理
Cosmos DB
(DocumentDB API)
Search
Storage Queue
更新トリガー
Cosmos DBの更新処理
インデックス更新
データ更新
インデックス更新Function
public static void Run(string carsQueue, dynamic inputDocument, TraceWriter log)
{
// Searchサービス用クライアントの作成
string searchServiceName = Environment.GetEnvironmentVariable("SearchServiceName",
EnvironmentVariableTarget.Process);
string queryApiKey = Environment.GetEnvironmentVariable("SearchServiceQueryApiKey",
EnvironmentVariableTarget.Process);
SearchServiceClient serviceClient =
new SearchServiceClient(searchServiceName, new SearchCredentials(queryApiKey));
ISearchIndexClient indexClient = serviceClient.Indexes.GetClient("cars");
// CosmosDBから取得したデータをSearch用データ型に変換
var cars = new Car[] {
new Car
{
Id = inputDocument.id,
Wikipediaid = inputDocument.wikipediaid,
Name = inputDocument.name,
Constructor = inputDocument.constructor,
Drive = inputDocument.drive,
Year = inputDocument.year,
Note = inputDocument.note,
Thumbnail = inputDocument.thumbnail
}
};
// インデックスの更新
var batch = IndexBatch.MergeOrUpload(cars);
indexClient.Documents.Index(batch);
}
Cosmos DBのデータJSONからSearchのインデックス
更新用ドキュメントを生成
実際にAzure Searchに更新データを送信
ここまではAzure Searchへの接
続準備
Functionsのデータバインディング設定により入力
データとなるCosmos DBのデータ
参考: データソースの作成(REST)
POST https://****************.search.windows.net/datasources?api-version=2016-09-01
Content-Type: application/json
api-key: ****************
{
"name": "mydocdbdatasource",
"type": "documentdb",
"credentials": { "connectionString": "****************” },
"container": {
"name": "myDocDbCollectionId",
"query": "SELECT c.id, c.name, c.car.drive, c.car.year, c._ts
FROM c WHERE c._ts >= @HighWaterMark"
},
"dataChangeDetectionPolicy": {
"@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName": "_ts"
}
}
データソースが構造化されている場合はここで
クエリをカスタマイズしてフラット化する
(c.car.drive, c.car.yearはフラット化した例)
データ更新の検出ポリシーを定義
(タイムスタンプを使用した 増分更新)
[DEMO]
 Azure Functionsによるインデックス更新
パターン3: Office文書検索パターン
 解決する課題
﹣一般的な文書ファイル(Excelや Word、PowerPointといっ
たOffice文書 、PDF、プレーンテキスト、CSVなど)の全
文検索環境を簡単に構築したい
Azure SearchのBlobインデクサーを使うことて
゙文書の全文検索を容易に実現する
Office文書検索パターンのアーキテクチャ
Search
検索クライアント
Web Appsなど
文書内
全文検索
自動インデクサーによる
文書インデックス作成
検索結果
サポートされている文書
• PDF, HTML, XML, RTF, ZIP
• DOCX/DOC、XLSX/XLS、PPTX/PPT
• MSG , EML
• プレーンテキスト ファイル,
• JSON, CSV
Blob
Storage
Blobインデックスの設定
 インデックスに設定するフィールド
﹣idとcontent のみで良い
 クエリ結果には自動的にメタデータが含まれる
﹣ファイル名、パス、サイズ等
﹣コンテンツ種類毎のメタデータ
• PDF: language , author, title
• DOCX: author, character_count, page_countなど
• PPTX: slide_count, title など
クエリ例: Blobインデックス
// クエリ(REST)
POST https://*******.search.windows.net/indexes/carindex-sql/docs/search?api-version=2016-09-01
Content-Type: application/json
Accept: application/json
api-key: *************
{
"search": "レガシー",
"highlight": "content"
}
// 結果
{
"value": [
{
"@search.score": 0.105222605,
"@search.highlights": {
"content": [
“『変わらない開発現場』を変えていくためにnn~エンプラ系<em>レガシー</em> SIer のための DevOps 再入門
~n#decode17 #DO08n赤間 信幸nhttp://blogs.msdn.com/b/nakama/
・・・(以下省略),
"metadata_storage_name": "DO08.pptx",
"metadata_storage_path": “aHR0cHM6Ly9taXl ha2VzZXJjaGRlbW8uYmxvYi5jb3JlLndpbmRvd3Mubm....”,
"metadata_title": "PowerPoint プレゼンテーション"
ヒットした文字列は<em>タグで、ハ
イライト表示されている
Blobの検索対象、ハイライト対象は
通常「content」となる
PPTX用のメタデータが出力される
3. Searchを本気で使うために
高負荷対策
レプリカ
﹣検索サイドのスケール
• クエリ操作の負荷分散
パーティション
﹣データサイドのスケール
• インデックスのストレージと I/O
高可用性設計
 レプリカによる対応
﹣クエリの高可用性
• 2レプリカ以上
﹣クエリ、インデックス更新の高可用性
• 3レプリカ以上
 DR対応
﹣Geoレプリケーションなどの仕組みはない
﹣各リージョンで同一インデクサーを動かすことで実現
Searchクライアントの設計アプローチ
 Web API( + SDK)経由
﹣.NET SDK限定
﹣WebAPIにて統合が可能(認証、他のデータ)
 ダイレクト(+ REST API)
﹣JavaScriptでブラウザからAzure Searchに直接クエリー
﹣クエリーキー(読み取り専用)を事前にWebAPI等で配布
まとめ
 Azure Searchは圧倒的に導入の敷居が低い
 データとサービスは適材適所で使い分ける
Azure Application Architecture Guide > Technology Choices > Choose the right data store
https://docs.microsoft.com/ja-jp/azure/architecture/guide/technology-choices/data-store-overview#search-engine-databa
ご清聴ありがとうございました。

Weitere ähnliche Inhalte

Was ist angesagt?

[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lakede:code 2017
 
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?Suguru Ito
 
Azure上の データベース 機能の選び方。KVSからDWHまで
Azure上の データベース 機能の選び方。KVSからDWHまでAzure上の データベース 機能の選び方。KVSからDWHまで
Azure上の データベース 機能の選び方。KVSからDWHまでDaisuke Masubuchi
 
[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...
[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...
[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...Naoki (Neo) SATO
 
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Keisuke Takahashi
 
俺のサイジング
俺のサイジング俺のサイジング
俺のサイジングToru Makabe
 
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみるTakahiro Moteki
 
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介de:code 2017
 
[簡易提案書]Azure overview 2017_april_v1.00
[簡易提案書]Azure overview 2017_april_v1.00[簡易提案書]Azure overview 2017_april_v1.00
[簡易提案書]Azure overview 2017_april_v1.00Toshihiko Sawaki
 
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...Naoki (Neo) SATO
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...Suguru Ito
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでDaisuke Masubuchi
 
[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)
[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)
[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)Takahiro Moteki
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告Amazon Web Services Japan
 
Real World Azure RBAC
Real World Azure RBACReal World Azure RBAC
Real World Azure RBACToru Makabe
 

Was ist angesagt? (18)

[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
[DI07] あらゆるデータに価値がある! アンチ断捨離ストのための Azure Data Lake
 
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
 
Azure上の データベース 機能の選び方。KVSからDWHまで
Azure上の データベース 機能の選び方。KVSからDWHまでAzure上の データベース 機能の選び方。KVSからDWHまで
Azure上の データベース 機能の選び方。KVSからDWHまで
 
[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...
[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...
[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...
 
Azure Network 概要
Azure Network 概要Azure Network 概要
Azure Network 概要
 
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
 
Azure aws違い
Azure aws違いAzure aws違い
Azure aws違い
 
Scaling MongoDB on AWS
Scaling MongoDB on AWSScaling MongoDB on AWS
Scaling MongoDB on AWS
 
俺のサイジング
俺のサイジング俺のサイジング
俺のサイジング
 
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
[JAWSBigData#11]Cloudera on AWSと Amazon EMRを両方本番運用し 3つの観点から比較してみる
 
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介
[DI15] Build 2017 Updates ~ Azure Database for MySQL/PostgreSQL 最速紹介
 
[簡易提案書]Azure overview 2017_april_v1.00
[簡易提案書]Azure overview 2017_april_v1.00[簡易提案書]Azure overview 2017_april_v1.00
[簡易提案書]Azure overview 2017_april_v1.00
 
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
[db tech showcase Tokyo 2017] AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう (Azure Dat...
 
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
 
[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)
[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)
[社内勉強会]サクっと業務でつくったログ/データ調査環境(re:dash ☓ AWS Athena ☓ embulk)
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
 
Real World Azure RBAC
Real World Azure RBACReal World Azure RBAC
Real World Azure RBAC
 

Ähnlich wie Azure Search クックブック

Spring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractTakeshi Ogawa
 
シラサギハンズオン 大阪
シラサギハンズオン 大阪シラサギハンズオン 大阪
シラサギハンズオン 大阪Yu Ito
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
現場的!オンプレとAWSの違い
現場的!オンプレとAWSの違い現場的!オンプレとAWSの違い
現場的!オンプレとAWSの違い真吾 吉田
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on AzureDaiyu Hatakeyama
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Yasuaki Matsuda
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 
シラサギハンズオン 東京
シラサギハンズオン 東京シラサギハンズオン 東京
シラサギハンズオン 東京Yu Ito
 
WebIDLを見てみる
WebIDLを見てみるWebIDLを見てみる
WebIDLを見てみるtakenspc
 
Azure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け TipsAzure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け TipsKeiji Kamebuchi
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来Akira Inoue
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 
msgraph: Terraform provider for Microsoft Graph
msgraph: Terraform provider for Microsoft Graphmsgraph: Terraform provider for Microsoft Graph
msgraph: Terraform provider for Microsoft Graphyaegashi
 
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン  Apache Airflowを用いた 大規模データパイプライン構築と改善PyConAPAC2023 ワークフローエンジン  Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善株式会社MonotaRO Tech Team
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...日本マイクロソフト株式会社
 
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~decode2016
 
マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介Sunao Tomita
 

Ähnlich wie Azure Search クックブック (20)

Spring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contract
 
[Japan Tech summit 2017] APP 003
[Japan Tech summit 2017]  APP 003[Japan Tech summit 2017]  APP 003
[Japan Tech summit 2017] APP 003
 
シラサギハンズオン 大阪
シラサギハンズオン 大阪シラサギハンズオン 大阪
シラサギハンズオン 大阪
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
現場的!オンプレとAWSの違い
現場的!オンプレとAWSの違い現場的!オンプレとAWSの違い
現場的!オンプレとAWSの違い
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
シラサギハンズオン 東京
シラサギハンズオン 東京シラサギハンズオン 東京
シラサギハンズオン 東京
 
WebIDLを見てみる
WebIDLを見てみるWebIDLを見てみる
WebIDLを見てみる
 
Azure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け TipsAzure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け Tips
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
msgraph: Terraform provider for Microsoft Graph
msgraph: Terraform provider for Microsoft Graphmsgraph: Terraform provider for Microsoft Graph
msgraph: Terraform provider for Microsoft Graph
 
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン  Apache Airflowを用いた 大規模データパイプライン構築と改善PyConAPAC2023 ワークフローエンジン  Apache Airflowを用いた 大規模データパイプライン構築と改善
PyConAPAC2023 ワークフローエンジン Apache Airflowを用いた 大規模データパイプライン構築と改善
 
Azure &lt;3 Openness
Azure &lt;3 OpennessAzure &lt;3 Openness
Azure &lt;3 Openness
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
【Japan Partner Conference 2019】遂に来た! フルマーネージド Azure Red Hat OpenShift で実現する O...
 
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
DBP-020_いざ無制限のデータの彼方へ! ~Azure Data Lake 開発の知識とベストプラクティス~
 
マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介マイクロソフトの提供するMA6向けAPIのご紹介
マイクロソフトの提供するMA6向けAPIのご紹介
 

Mehr von Kazuyuki Miyake

Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンAzure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンKazuyuki Miyake
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンKazuyuki Miyake
 
Azure Cosmos DB + App Serviceの良い関係
Azure Cosmos DB + App Serviceの良い関係Azure Cosmos DB + App Serviceの良い関係
Azure Cosmos DB + App Serviceの良い関係Kazuyuki Miyake
 
XamarinでAzure AD認証 (リフレッシュトークン対応)
XamarinでAzure AD認証 (リフレッシュトークン対応)XamarinでAzure AD認証 (リフレッシュトークン対応)
XamarinでAzure AD認証 (リフレッシュトークン対応)Kazuyuki Miyake
 
Xamarin + Azure Mobile Appsの現実
Xamarin + Azure Mobile Appsの現実Xamarin + Azure Mobile Appsの現実
Xamarin + Azure Mobile Appsの現実Kazuyuki Miyake
 
DocumentDBクイックスタート(開発現場編)
DocumentDBクイックスタート(開発現場編)DocumentDBクイックスタート(開発現場編)
DocumentDBクイックスタート(開発現場編)Kazuyuki Miyake
 
本番運用で使うVisual Studio
本番運用で使うVisual Studio本番運用で使うVisual Studio
本番運用で使うVisual StudioKazuyuki Miyake
 
現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタートKazuyuki Miyake
 
Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Kazuyuki Miyake
 
要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法Kazuyuki Miyake
 

Mehr von Kazuyuki Miyake (11)

Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンAzure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
Azure Cosmos DB + App Serviceの良い関係
Azure Cosmos DB + App Serviceの良い関係Azure Cosmos DB + App Serviceの良い関係
Azure Cosmos DB + App Serviceの良い関係
 
XamarinでAzure AD認証 (リフレッシュトークン対応)
XamarinでAzure AD認証 (リフレッシュトークン対応)XamarinでAzure AD認証 (リフレッシュトークン対応)
XamarinでAzure AD認証 (リフレッシュトークン対応)
 
Xamarin + Azure Mobile Appsの現実
Xamarin + Azure Mobile Appsの現実Xamarin + Azure Mobile Appsの現実
Xamarin + Azure Mobile Appsの現実
 
DocumentDBクイックスタート(開発現場編)
DocumentDBクイックスタート(開発現場編)DocumentDBクイックスタート(開発現場編)
DocumentDBクイックスタート(開発現場編)
 
本番運用で使うVisual Studio
本番運用で使うVisual Studio本番運用で使うVisual Studio
本番運用で使うVisual Studio
 
現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート
 
Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具
 
Agile meets BABOK
Agile meets BABOKAgile meets BABOK
Agile meets BABOK
 
要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法
 

Azure Search クックブック