SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Elasticsearchプラグインの作り方 
~ CodeLibsの便利なプラグイン紹介 
第7回Elasticsearch勉強会
第7回Elasticsearch勉強会 
名前: 菅谷信介 
所属: N2SM, Inc. (http://www.n2sm.net/) 
オープンソース活動: 
Apache Portals コミッタ 
Seasarプロジェクトコミッタ 
CodeLibsプロジェクト運営 (https://github.com/codelibs) などなど・・・ 
Github: https://github.com/codelibs 
Blog: http://www.chazine.com/ 
Twitter: https://twitter.com/shinsuke_sugaya/ 
自己紹介 
2
第7回Elasticsearch勉強会 
アジェンダ 
Elasticsearchプラグインとは 
プラグインの作り方 
CodeLibsのプラグイン紹介 
まとめ 
3
第7回Elasticsearch勉強会 
Elasticsearchプラグインとは 
4
第7回Elasticsearch勉強会 
Elasticsearchの機能を拡張する仕組み 
pluginコマンドにより簡単にインストール 
プラグインは2種類ある 
ネイティブなプラグイン (今日は主にコレ) Elasticsearchの機能自体を変更・拡張する 
サイトプラグイン HeadやkopfのようにHTMLでの情報提供系 
ネイティブなプラグインはJavaで作り、jar ファイルをzipでまとめたもの 
Elasticsearchプラグインとは 
5
第7回Elasticsearch勉強会 
プラグインの作り方 
6
第7回Elasticsearch勉強会 
必要なもの 
Java 7以上 
Maven 
以下のコマンド実行でプロジェクトが完成! $ mvn archetype:generate ¥ -DarchetypeGroupId=org.codelibs ¥ -DarchetypeArtifactId=elasticsearch-plugin-archetype ¥ -DarchetypeVersion=1.4.0 ¥ -DelasticsearchVersion=1.4.0 ¥ -DgroupId=com.yourplugin ¥ -DartifactId=elasticsearch-yourplugin ¥ -Dversion=1.0-SNAPSHOT ¥ -DpluginName=YourPlugin 
プラグインプロジェクトの作成 
赤字部分を変更する 
7
第7回Elasticsearch勉強会 
プラグインのzipファイルを生成 $ mvn package (target/releasesディレクトリ以下に生成される) 
プラグインのインストール $ $ES_HOME/bin/plugin –i yourplugin -u file:/path/elasticsearch-yourplugin.zip あとはElasticsearchを再起動すればOK! 
プラグインの生成 
8
第7回Elasticsearch勉強会 
という感じで、 Elasticsearchプラグインは 簡単に作って インストールできます 
9
第7回Elasticsearch勉強会 
もう少し プラグインの作り方の 説明します… 
10
第7回Elasticsearch勉強会 
Elasticsearchプラグインを作成するための Maven Archetype 
ブランクプロジェクト(ひな形)が作成できる 
コマンド一つでプロジェクトが作成可能 
Elasticsearch 1.xごとにArchetypeは提供 
Elasticsearchがマイナーバージョンアップで I/Fが変わるため、作り直している… 
シンプルなプロジェクトが作成されるので、 必要なものを追加や削除すれば、簡単に Elasticsearchのプラグインができます! 
Elasticsearch Plugin Archetype 
https://github.com/codelibs/elasticsearch-plugin-archetype 
11
第7回Elasticsearch勉強会 
プロジェクト設定ファイル pom.xml 
プラグイン情報ファイル src/main/resources/es-plugin.properties 
プラグインのベースとなるソース src/main/java/com/yourplugin/YourPluginPlugin.java 
REST用ソース src/main/java/com/yourplugin/rest/YourPluginRestAction.java 
サービス用ソース src/main/java/com/yourplugin/module/YourPluginModule.java src/main/java/com/yourplugin/service/YourPluginService.java 
River用ソース src/main/java/com/yourplugin/module/YourPluginRiverModule.java src/main/java/com/yourplugin/river/YourPluginRiver.java 
プラグイン生成情報のファイル src/main/assemblies/plugin.xml 
Archetypeの生成物 
12
第7回Elasticsearch勉強会 
public class YourPluginRestAction extends BaseRestHandler { @Inject public YourPluginRestAction(final Settings settings, final Client client, final RestController controller) { super(settings, controller, client); controller.registerHandler(RestRequest.Method.GET, "/{index}/{type}/_hello", this); controller.registerHandler(RestRequest.Method.GET, "/{index}/_hello", this); } 
例:REST APIを拡張 (その1) 
13 
受け付けるHTTPメソッドやパスを指定する
第7回Elasticsearch勉強会 
@Override protected void handleRequest(final RestRequest request, final RestChannel channel, Client client) { try { final XContentBuilder builder = JsonXContent.contentBuilder(); builder.startObject(); builder.field("index", request.param("index")); builder.field("type", request.param("type")); builder.field("description", "This is a elasticsearch-yourplugin response: " + new Date().toString()); builder.endObject(); channel.sendResponse(new BytesRestResponse(OK, builder)); } catch (final IOException e) { try { channel.sendResponse(new BytesRestResponse(channel, e)); } catch (final IOException e1) { logger.error("Failed to send a failure response.", e1); } } } 
例:REST APIを拡張 (その2) 
14 
返却するJSONをこの辺に記述する
第7回Elasticsearch勉強会 
CodeLibsプラグインの紹介 
15
第7回Elasticsearch勉強会 
ウェブサイトをクロールして、ページをイン デックス化する (サイト内検索にも利用可) 
全文検索サーバFessと同じクローラー 
CSSクエリーによるウェブスクレイピング 
スクリプトにより編集して登録 
クロール開始時間をスケジュール 
BASIC/DIGEST/NTLM認証に対応 
attachmentタイプもサポート 
Elasticsearch River Web 
https://github.com/codelibs/elasticsearch-river-web 
16
第7回Elasticsearch勉強会 
SolrのI/FでElasticsearchにアクセス 
Mock Solrプラグインがメンテされていないので フォークして提供 
検索・更新に対応 
Geoサーチにはまだ未対応 
Solr形式のXML/JavaBinフォーマットに対応 
SolrJ等でSolrのツールが利用可能 
利用例 
Solr環境からの移行 
Elasticsearch Solr API 
https://github.com/codelibs/elasticsearch-solr-api 
17
第7回Elasticsearch勉強会 
Mahout Tasteをベースのリコメンド機能 
利用者/商品/嗜好データ管理 
情報をインデックスで管理 
利用者/商品ベースのリコメンド 
類似利用者の算出 
テキスト分析 (商品情報のタームベクターの 生成等) 
「利用者/商品/嗜好→ドキュメント/ターム/ 出現数」として、協調フィルタリングによる ドキュメントのリコメンド 
Elasticsearch Taste 
https://github.com/codelibs/elasticsearch-taste 
18
第7回Elasticsearch勉強会 
生成済みのインデックスをコピーして、 新しいインデックスを作成する 
_sourceからデータをスクロールスキャンして、 インデックスを生成 
簡単にインデックスをコピー可能 
利用例 
テスト等で既存インデックスから、Analyzerや マッピングが異なるインデックスを作成する 
今後:他のクラスターに対しても再インデク シングを可能にしたい 
Elasticsearch Reindexing 
https://github.com/codelibs/elasticsearch-reindexing 
19
第7回Elasticsearch勉強会 
Excel/CSV/バルクJSON形式でデータをダン プする 
Excelでダンプできる! 
…/_searchの代わりに…/_dataを指定する 
利用例 
Excel好きな人に結果を渡す 
バルクJSON形式で部分抽出をして、別インデッ クスにバルク投入して利用(全データが必要 ない場合とか) 
今後:内部ロジックでレスポンスの返却の仕 方を改善 
Elasticsearch Data Format 
https://github.com/codelibs/elasticsearch-dataformat 
20
第7回Elasticsearch勉強会 
スクリプトを利用したクエリーテンプレート 
任意のスクリプト言語でクエリーを組み立てる (標準のmustacheは穴埋め的なクエリー作成が 可能だがそれでは物足りない人向け) 
標準のクエリーテンプレートとほぼ同じ 
langを指定する追加する 
パラメータ書き換えのためのフィルタ機能 
利用例 
パラメータによりクエリーを変更する 
A/Bテスト 
https://github.com/codelibs/elasticsearch-sstmpl 
Elasticsearch Script-based Search Template 
21
第7回Elasticsearch勉強会 
クエリー例 GET /_search/template { "lang": "groovy", "template": "'{¥"query¥": {¥"match¥": {¥"title¥": ¥"' + query_string + '¥"}}}'", "params": { "query_string": "search for these words" } } 
langでtemplateのスクリプト言語を指定 
利用したいスクリプト言語は追加しておく 
https://github.com/codelibs/elasticsearch-sstmpl 
Elasticsearch SSTmplの例 
22
第7回Elasticsearch勉強会 
Handlebarsをスクリプト言語として Elasticsearchに追加する 
クエリーテンプレートで標準のmustacheで できなかった、ロジックが書ける 
HandlebarsのHelperもjsファイルで記述す ることが可能 
Elasticsearch Handlebars Lang 
https://github.com/codelibs/elasticsearch-lang-handlebars 
23
第7回Elasticsearch勉強会 
Velocityをスクリプト言語として Elasticsearchに追加する 
クエリーテンプレートでVelocityが利用可能 
Dynamic Scriptingを有効にする script.disable_dynamic: false 
Elasticsearch Velocity Lang 
https://github.com/codelibs/elasticsearch-lang-velocity 
24
第7回Elasticsearch勉強会 
インデクシング時に指定されたフィールドの 単語に対するb-bit MinHashを計算・保存 
簡単にいうと、MinHashは高速に2つのデータを 比較する方法 (文書も指定したビット列に変換さ れ、それだけを比較することで一致を判断) 
プラグインでバイトフィールドに格納 
0/1のビットの文字列でも格納可能 
利用例 
類似文書の検索 
高速に類似ドキュメントを計算 
Elasticsearch MinHash 
https://github.com/codelibs/elasticsearch-minhash 
25
第7回Elasticsearch勉強会 
検索結果の上位N件を並び替える 
並び替えはスクリプト言語で記述する 
標準のRescoringはシャード単位だが、 DynaRankはマージされた結果に対して 並び替えを行う 
N+1番目以降は通常の検索結果と同様 
インデックス設定を変更することで、動的に 有効・無効にすることができる 
利用例 
特定の内容は上位に表示する 
検索結果の重複をなくす 
Elasticsearch DynaRank 
https://github.com/codelibs/elasticsearch-dynarank 
26
第7回Elasticsearch勉強会 
検索結果をキャッシュする 
Solrでいうと、Query Result Cacheのこと (QRコードのキャッシュではないです…) 
インデックスがあまり更新されないような ケースで有効 
リアルタイムとは逆行するがインデックスの 種類によっては更新頻度が低いものもある 
キャッシュは保存量、期限、Refreshの呼び 出しにより、クリア可能 
Elasticsearch QRCache 
https://github.com/codelibs/elasticsearch-qrcache 
27
第7回Elasticsearch勉強会 
クラスタイベントが発生したときに指定した スクリプトを実行する 
利用例 
マスターノードが切り替わった場合に通知する 
ノードが増減した場合にスクリプトを実行する 
今後:Elasticsearchのバージョンによりイベ ント内容が異なるので、クラスターイベント を汎用化したい 
Elasticsearch Event Hook 
https://github.com/codelibs/elasticsearch-eventhook 
28
第7回Elasticsearch勉強会 
ElasticsearchのREST APIをアクセス制御す るプラグイン 
ユーザー管理 
REST APIのアクセス管理 
ログイン/ログアウト/トークン 
デフォルトのユーザー管理はElasticsearchの インデックスを利用(拡張可能な実装) 
パス、HTTPメソッド、ロールの組み合わせ 
今後:shieldの内容を見て考える(と思う) 
Elasticsearch Auth 
https://github.com/codelibs/elasticsearch-auth 
29
第7回Elasticsearch勉強会 
その他 
30
第7回Elasticsearch勉強会 
Javaのコード上でElasticsearchのクラスタ を立ち上げる 
1つのJVM上に複数のElasticsearchを起動す ることが可能 
利用例 
JunitなどのテストケースでElasticsearchを立ち 上げて動作確認する 
バッチ処理の中でElasticsearchを立ち上げ、ス ナップショットから復元して処理する(本稼働の ESに影響を与えずに同等のインデックスで処理 可能) 
Elastisearchの動作調査や学習目的での利用 
Elasticsearch Cluster Runner 
https://github.com/codelibs/elasticsearch-cluster-runner 
31
第7回Elasticsearch勉強会 
まとめ 
32
第7回Elasticsearch勉強会 
まとめ (プラグイン作りについて) 
プラグインを作れば、Elasticsearchをいろ いろと拡張できるので、可能性が広がる 
Solrと比較してもプラグインは作りやすいし、 導入しやすい 
結構、いろいろと差し替えることができる 
RESTのプラグインから作るとわかりやすい 
マニアックなことしたいと情報はソースのみ 
Elasticsearchのバージョンが上がると、 たまに動かなくなる可能性がある… 
まだまだ作りたいプラグインがある… 
33
第7回Elasticsearch勉強会 
Q&A 
34

Weitere ähnliche Inhalte

Was ist angesagt?

とある診断員とSQLインジェクション
とある診断員とSQLインジェクションとある診断員とSQLインジェクション
とある診断員とSQLインジェクションzaki4649
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with KarateTakanori Suzuki
 
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達zaki4649
 
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころShinsuke Sugaya
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについてmoai kids
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをi_yudai
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析Yuki Mizuno
 
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyYahoo!デベロッパーネットワーク
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409稔 小林
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタSatoyuki Tsukano
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮Hibino Hisashi
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発Yahoo!デベロッパーネットワーク
 
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入Takahiro Moteki
 
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介morihisa
 

Was ist angesagt? (20)

とある診断員とSQLインジェクション
とある診断員とSQLインジェクションとある診断員とSQLインジェクション
とある診断員とSQLインジェクション
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
 
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
 
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについて
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409
 
イエラエセキュリティMeet up 20210820
イエラエセキュリティMeet up 20210820イエラエセキュリティMeet up 20210820
イエラエセキュリティMeet up 20210820
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
DevLOVE DDDBC
DevLOVE DDDBCDevLOVE DDDBC
DevLOVE DDDBC
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
 
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入
[社内勉強会]ワークフローエンジンdigdag研究&プロダクトF.O.Xに導入
 
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
 

Andere mochten auch

Elasticsearch at CrowdWorks
Elasticsearch at CrowdWorksElasticsearch at CrowdWorks
Elasticsearch at CrowdWorks佑介 九岡
 
2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料Recruit Technologies
 
協調フィルタリング入門
協調フィルタリング入門協調フィルタリング入門
協調フィルタリング入門hoxo_m
 
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステムElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステムShinsuke Sugaya
 
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法Shinsuke Sugaya
 
Tensor Decomposition and its Applications
Tensor Decomposition and its ApplicationsTensor Decomposition and its Applications
Tensor Decomposition and its ApplicationsKeisuke OTAKI
 
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバElasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバShinsuke Sugaya
 
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発Shinsuke Sugaya
 
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境Shinsuke Sugaya
 
Scala警察のすすめ
Scala警察のすすめScala警察のすすめ
Scala警察のすすめtakezoe
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient DescentDeep Learning JP
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習Mitsuhisa Ohta
 
Elasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFessElasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFessShinsuke Sugaya
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep LearningSeiya Tokui
 

Andere mochten auch (15)

Elasticsearch at CrowdWorks
Elasticsearch at CrowdWorksElasticsearch at CrowdWorks
Elasticsearch at CrowdWorks
 
2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料
 
協調フィルタリング入門
協調フィルタリング入門協調フィルタリング入門
協調フィルタリング入門
 
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステムElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
 
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法
 
Tensor Decomposition and its Applications
Tensor Decomposition and its ApplicationsTensor Decomposition and its Applications
Tensor Decomposition and its Applications
 
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバElasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
 
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
 
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
 
AI社会論研究会
AI社会論研究会AI社会論研究会
AI社会論研究会
 
Scala警察のすすめ
Scala警察のすすめScala警察のすすめ
Scala警察のすすめ
 
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent [DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
[DL輪読会]A Bayesian Perspective on Generalization and Stochastic Gradient Descent
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習
 
Elasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFessElasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFess
 
生成モデルの Deep Learning
生成モデルの Deep Learning生成モデルの Deep Learning
生成モデルの Deep Learning
 

Ähnlich wie Elasticsearchプラグインの作り方

C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~Fujio Kojima
 
Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127Shotaro Suzuki
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~normalian
 
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門spring_raining
 
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Shotaro Suzuki
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSAyumi Goto
 
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugSpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugY Watanabe
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようTasuku Otani
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaTakuya Tsuchida
 
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
 
Renewed using elasticsearchonaspnet-core5
Renewed using elasticsearchonaspnet-core5Renewed using elasticsearchonaspnet-core5
Renewed using elasticsearchonaspnet-core5Shotaro Suzuki
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説Akira Inoue
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Akira Inoue
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情takezoe
 
CategoLJについて
CategoLJについてCategoLJについて
CategoLJについてToshiaki Maki
 
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdf
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdfElastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdf
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdfKoji Kawamura
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るKiyoshi SATOH
 

Ähnlich wie Elasticsearchプラグインの作り方 (20)

C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~
 
Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門React.jsでクライアントサイドなWebアプリ入門
React.jsでクライアントサイドなWebアプリ入門
 
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
Ajax 応用
Ajax 応用Ajax 応用
Ajax 応用
 
OpenStack API
OpenStack APIOpenStack API
OpenStack API
 
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsugSpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
SpringMVCとmixer2で作るWebアプリのキホン 2013-01-24 Spring勉強会 #jsug
 
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話 Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
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
 
Renewed using elasticsearchonaspnet-core5
Renewed using elasticsearchonaspnet-core5Renewed using elasticsearchonaspnet-core5
Renewed using elasticsearchonaspnet-core5
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
 
イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情イマドキの現場で使えるJavaライブラリ事情
イマドキの現場で使えるJavaライブラリ事情
 
CategoLJについて
CategoLJについてCategoLJについて
CategoLJについて
 
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdf
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdfElastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdf
Elastic Stack を網羅する ハンズオンワークショップを 作ってみた.pdf
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
 

Mehr von Shinsuke Sugaya

社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウShinsuke Sugaya
 
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめようLastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめようShinsuke Sugaya
 
PredictionIOのPython対応計画
PredictionIOのPython対応計画PredictionIOのPython対応計画
PredictionIOのPython対応計画Shinsuke Sugaya
 
PredictionIO構築入門
PredictionIO構築入門PredictionIO構築入門
PredictionIO構築入門Shinsuke Sugaya
 
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch AuthプラグインでアクセスコントロールElasticsearch Authプラグインでアクセスコントロール
Elasticsearch AuthプラグインでアクセスコントロールShinsuke Sugaya
 
DBFlute Mavenプラグインを用いてCRUD作成
DBFlute Mavenプラグインを用いてCRUD作成DBFlute Mavenプラグインを用いてCRUD作成
DBFlute Mavenプラグインを用いてCRUD作成Shinsuke Sugaya
 
DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFessDBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFessShinsuke Sugaya
 
elasticsearchプラグイン入門
elasticsearchプラグイン入門elasticsearchプラグイン入門
elasticsearchプラグイン入門Shinsuke Sugaya
 
Solrベースの全文検索サーバ Fess
Solrベースの全文検索サーバ FessSolrベースの全文検索サーバ Fess
Solrベースの全文検索サーバ FessShinsuke Sugaya
 
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fessオフィスに1台!全文検索Fess
オフィスに1台!全文検索FessShinsuke Sugaya
 

Mehr von Shinsuke Sugaya (11)

社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
 
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめようLastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
 
PredictionIOのPython対応計画
PredictionIOのPython対応計画PredictionIOのPython対応計画
PredictionIOのPython対応計画
 
PredictionIO構築入門
PredictionIO構築入門PredictionIO構築入門
PredictionIO構築入門
 
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch AuthプラグインでアクセスコントロールElasticsearch Authプラグインでアクセスコントロール
Elasticsearch Authプラグインでアクセスコントロール
 
DBFlute Mavenプラグインを用いてCRUD作成
DBFlute Mavenプラグインを用いてCRUD作成DBFlute Mavenプラグインを用いてCRUD作成
DBFlute Mavenプラグインを用いてCRUD作成
 
DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFessDBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFess
 
elasticsearchプラグイン入門
elasticsearchプラグイン入門elasticsearchプラグイン入門
elasticsearchプラグイン入門
 
Solrベースの全文検索サーバ Fess
Solrベースの全文検索サーバ FessSolrベースの全文検索サーバ Fess
Solrベースの全文検索サーバ Fess
 
Sc2009autumn s2robot
Sc2009autumn s2robotSc2009autumn s2robot
Sc2009autumn s2robot
 
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fessオフィスに1台!全文検索Fess
オフィスに1台!全文検索Fess
 

Elasticsearchプラグインの作り方