Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Shinsuke Sugaya
PDF, PPTX
6,660 views
elasticsearchプラグイン入門
elasticsearchプラグインのJavaを用いた作り方の説明です。また、Solr APIプラグインを導入して、Solrをelasticsearchに置き換えてFessを動かしてみます。
Technology
◦
Read more
8
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 23
2
/ 23
3
/ 23
4
/ 23
5
/ 23
6
/ 23
7
/ 23
8
/ 23
9
/ 23
10
/ 23
11
/ 23
12
/ 23
13
/ 23
14
/ 23
15
/ 23
16
/ 23
17
/ 23
18
/ 23
19
/ 23
20
/ 23
21
/ 23
22
/ 23
23
/ 23
More Related Content
PDF
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
by
Shinsuke Sugaya
PDF
Elasticsearchベースの全文検索システムFess
by
Shinsuke Sugaya
PDF
DBFluteを用いて開発されている全文検索システムFess
by
Shinsuke Sugaya
PDF
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
PDF
オフィスに1台!全文検索Fess
by
Shinsuke Sugaya
PDF
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
by
Shinsuke Sugaya
PDF
Solrベースの全文検索サーバ Fess
by
Shinsuke Sugaya
PDF
Elasticsearchプラグインの作り方
by
Shinsuke Sugaya
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
by
Shinsuke Sugaya
Elasticsearchベースの全文検索システムFess
by
Shinsuke Sugaya
DBFluteを用いて開発されている全文検索システムFess
by
Shinsuke Sugaya
SolrとElasticsearchを比べてみよう
by
Shinsuke Sugaya
オフィスに1台!全文検索Fess
by
Shinsuke Sugaya
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
by
Shinsuke Sugaya
Solrベースの全文検索サーバ Fess
by
Shinsuke Sugaya
Elasticsearchプラグインの作り方
by
Shinsuke Sugaya
What's hot
PDF
Elasticsearch Authプラグインでアクセスコントロール
by
Shinsuke Sugaya
PDF
ElasticsearchとTasteプラグインで作るレコメンドシステム
by
Shinsuke Sugaya
PDF
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
by
Shinsuke Sugaya
PPTX
Elasticsearch 変わり種プラグインの作り方
by
Ryoji Kurosawa
PDF
DBFlute Mavenプラグインを用いてCRUD作成
by
Shinsuke Sugaya
PPTX
Apache Solr 入門
by
順平 西本
PDF
Elasticsearchで作る形態素解析サーバ
by
Shinsuke Sugaya
PDF
はじめての検索エンジン&Solr 第13回Solr勉強会
by
Noritsugu Suzuki
PDF
Elasticsearch at CrowdWorks
by
佑介 九岡
PDF
Sc2009autumn s2robot
by
Shinsuke Sugaya
PPTX
Solr6 の紹介(第18回 Solr勉強会 資料) (2016年6月10日)
by
Issei Nishigata
PDF
Fess/Elasticsearchを使った業務で使える?全文検索への道
by
Shinsuke Sugaya
PDF
いろいろ考えると日本語の全文検索もMySQLがいいね!
by
Kouhei Sutou
PPTX
solr勉強会資料
by
Atsushi Takayasu
PDF
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
by
Kentaro Yoshida
PDF
ニコニコニュースと全文検索
by
techtalkdwango
PDF
社内ドキュメント検索システム構築のノウハウ
by
Shinsuke Sugaya
PDF
Mroongaを選んだ理由と ちょっと嬉しかった話
by
Terui Masashi
PDF
hs_spider_hs_something_20110906
by
Kentoku
PDF
MySQLユーザ視点での小さく始めるElasticsearch
by
Kentaro Yoshida
Elasticsearch Authプラグインでアクセスコントロール
by
Shinsuke Sugaya
ElasticsearchとTasteプラグインで作るレコメンドシステム
by
Shinsuke Sugaya
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
by
Shinsuke Sugaya
Elasticsearch 変わり種プラグインの作り方
by
Ryoji Kurosawa
DBFlute Mavenプラグインを用いてCRUD作成
by
Shinsuke Sugaya
Apache Solr 入門
by
順平 西本
Elasticsearchで作る形態素解析サーバ
by
Shinsuke Sugaya
はじめての検索エンジン&Solr 第13回Solr勉強会
by
Noritsugu Suzuki
Elasticsearch at CrowdWorks
by
佑介 九岡
Sc2009autumn s2robot
by
Shinsuke Sugaya
Solr6 の紹介(第18回 Solr勉強会 資料) (2016年6月10日)
by
Issei Nishigata
Fess/Elasticsearchを使った業務で使える?全文検索への道
by
Shinsuke Sugaya
いろいろ考えると日本語の全文検索もMySQLがいいね!
by
Kouhei Sutou
solr勉強会資料
by
Atsushi Takayasu
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
by
Kentaro Yoshida
ニコニコニュースと全文検索
by
techtalkdwango
社内ドキュメント検索システム構築のノウハウ
by
Shinsuke Sugaya
Mroongaを選んだ理由と ちょっと嬉しかった話
by
Terui Masashi
hs_spider_hs_something_20110906
by
Kentoku
MySQLユーザ視点での小さく始めるElasticsearch
by
Kentaro Yoshida
Viewers also liked
PDF
はてなブックマークに基づく関連記事レコメンドエンジンの開発
by
Shunsuke Kozawa
PDF
ElasticSearchでいろいろやってる話
by
Shinya Takara
PDF
はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015
by
Shunsuke Kozawa
PDF
Elasticsearchを用いたはてなブックマークのトピック生成
by
Shunsuke Kozawa
PPTX
検索のダウンタイム0でバックアップからindexをリストアする方法
by
kbigwheel
PDF
Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見 前半(15分): SPIAS のご紹介と主な課題
by
Yasushi Hara
PDF
ElasticSearch勉強会 第6回
by
Naoyuki Yamada
はてなブックマークに基づく関連記事レコメンドエンジンの開発
by
Shunsuke Kozawa
ElasticSearchでいろいろやってる話
by
Shinya Takara
はてなブックマークのトピックページの裏側 in YAPC::Asia Tokyo 2015
by
Shunsuke Kozawa
Elasticsearchを用いたはてなブックマークのトピック生成
by
Shunsuke Kozawa
検索のダウンタイム0でバックアップからindexをリストアする方法
by
kbigwheel
Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見 前半(15分): SPIAS のご紹介と主な課題
by
Yasushi Hara
ElasticSearch勉強会 第6回
by
Naoyuki Yamada
Similar to elasticsearchプラグイン入門
PDF
Elasticsearch入門 pyfes 201207
by
Jun Ohtani
PDF
JJUG CCC リクルートの Java に対する取り組み
by
Recruit Technologies
PDF
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
by
S. T.
PDF
Solr勉強会第10回
by
Nobutoshi Ogata
PDF
Elastic searchをrailsから使ってみた
by
Yoichi Toyota
PDF
Elasticsearchの基本動作まとめ
by
朋哉 池田
PDF
eZ Publish勉強会5月「eZ Find」
by
ericsagnes
PPTX
CROSS 2015 全文検索群雄割拠
by
Katsushi Yamashita
PDF
elasticsearchソースコードを読みはじめてみた
by
furandon_pig
PPTX
技術勉強会(Solr入門編)
by
Atsushi Takayasu
PPT
アメーバサーチ 第二回solr勉強会
by
Gaku Tashiro
PPTX
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
by
Yahoo!デベロッパーネットワーク
PPTX
Lucene/Solr Revolution 2016 参加レポート
by
Shinpei Nakata
PDF
Learn, build, and scale with elastic - realizing great programming experience...
by
Shotaro Suzuki
PDF
Log analysis by using elasticsearch,kibana and fluentd.
by
Tadayasu Yotsu
PDF
Integrating elasticsearch with asp dot net core
by
Shotaro Suzuki
PDF
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
by
Yahoo!デベロッパーネットワーク
PDF
20121126 Solr@ニコニコ生放送
by
Yoshimura Soichiro
Elasticsearch入門 pyfes 201207
by
Jun Ohtani
JJUG CCC リクルートの Java に対する取り組み
by
Recruit Technologies
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
by
S. T.
Solr勉強会第10回
by
Nobutoshi Ogata
Elastic searchをrailsから使ってみた
by
Yoichi Toyota
Elasticsearchの基本動作まとめ
by
朋哉 池田
eZ Publish勉強会5月「eZ Find」
by
ericsagnes
CROSS 2015 全文検索群雄割拠
by
Katsushi Yamashita
elasticsearchソースコードを読みはじめてみた
by
furandon_pig
技術勉強会(Solr入門編)
by
Atsushi Takayasu
アメーバサーチ 第二回solr勉強会
by
Gaku Tashiro
Elasticsearch 5.2とJava Clientで戯れる #elasticsearchjp
by
Yahoo!デベロッパーネットワーク
Lucene/Solr Revolution 2016 参加レポート
by
Shinpei Nakata
Learn, build, and scale with elastic - realizing great programming experience...
by
Shotaro Suzuki
Log analysis by using elasticsearch,kibana and fluentd.
by
Tadayasu Yotsu
Integrating elasticsearch with asp dot net core
by
Shotaro Suzuki
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
by
Yahoo!デベロッパーネットワーク
20121126 Solr@ニコニコ生放送
by
Yoshimura Soichiro
Recently uploaded
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
elasticsearchプラグイン入門
1.
elasticsearchプラグイン入門 Solr APIプラグインでSolrを入れ替えてみよう
2.
名前: 菅谷信介
所属: N2SM, Inc. オープンソース活動: – Apache Portals、codehaus、Seasarプロジェクトなど – Fessプロジェクト運営 などなど・・・ Twitter: @shinsuke_sugaya ブログ: http://www.chazine.com/ 自己紹介 2
3.
elasticsearch plugin入門
elasticsearch-solr-apiとは elasticsearch-solr-apiのデモ アジェンダ 3
4.
Plugin入門 4
5.
elasticsearchの機能をカスマイズする方法 プラグインのzipはjarをまとめたもの
pluginコマンドでインストールする ● plugin -install ... unzipコマンドでpluginsディレクトリに展開でも良 い(と思う) プラグインを作ればいろいろとできる ● 基本的なところは簡単に作れる ● いろいろとやるには情報が足りない… ● すごいことしたいならコード読むしかない eleasticsearch pluginとは 5
6.
Analysis: Analyzer関連の変換系
River: データを取り込む系 Transport: 他とやりとりする系 Site: 統計情報などサイト表示系(作り方はちょっと例外的) Script: Pythonとか多言語実行系 その他: いろいろ… プラグインの種類 6
7.
es-plugin.propertiesを作成する Pluginクラスを作成する
Moduleクラスを作成する 必要なコンポーネントを作る assembly用のxmlファイルを作る (maven-assembly-pluginでzip化する) ・・・以上 プラグインの作り方 7
8.
ディレクトリ構成図例 8 ├── pom.xml └── src
└── main ├── assemblies │ └── plugin.xml ├── java │ └── <package name> │ ├── plugin │ │ ├── ...Module.java │ │ └── ...Plugin.java │ └── rest │ └── ...RestAction.java └── resources └── es-plugin.properties ① ②
9.
Pluginクラスを指定するファイル plugin=<package name>.〜Plugin es-plugin.properties 9
10.
モジュールやサービスの登録や設定など行う Pluginクラス 10 public class
SolrPlugin extends AbstractPlugin { @Override public String name() { return "SolrPlugin"; } @Override public String description() { return "This plugin provides Solr interface on the elasticsearch."; } @Override public void processModule(final Module module) { if (module instanceof RestModule) { ((RestModule) module).addRestAction(SolrUpdateRestAction.class); ((RestModule) module).addRestAction(SolrSearchRestAction.class); } } @Override public Collection<Class<? extends Module>> indexModules() { final Collection<Class<? extends Module>> modules = new ArrayList<Class<? extends Module>>(); modules.add(SolrIndexModule.class); return modules; } } AbstractPluginを継承するAbstractPluginを継承する
11.
Pluginクラスの例 11 @Override public void processModule(final
Module module) { if (module instanceof RestModule) { ((RestModule) module) .addRestAction(SolrUpdateRestAction.class); ((RestModule) module) .addRestAction(SolrSearchRestAction.class); } } @Override public Collection<Class<? extends Module>> indexModules() { Collection<Class<? extends Module>> modules = new ArrayList<Class<? extends Module>>(); modules.add(SolrIndexModule.class); return modules; } HTTP等でリクエストを 処理したい場合 RestActionを登録 HTTP等でリクエストを 処理したい場合 RestActionを登録 サービス等のモジュールを作り コンポーネントを登録する サービス等のモジュールを作り コンポーネントを登録する
12.
コンポーネント登録を行う Moduleクラス 12 public class
SolrIndexModule extends AbstractModule { @Override protected void configure() { this.bind(RegisterSolrDateType.class) .asEagerSingleton(); } }
13.
@Injectを付けたコンストラクタで他コンポーネン トを取得可能 各種コンポーネント 13 public class
RegisterSolrDateType extends AbstractIndexComponent { @Inject public RegisterSolrDateType(final Index index, @IndexSettings final Settings indexSettings, final MapperService mapperService) { super(index, indexSettings); …略… } }
14.
Mavenでzip成果物を生成するための設定ファイル assemblyのXMLファイル 14 <?xml version="1.0"?> <assembly> <id></id> <formats><format>zip</format></formats> <includeBaseDirectory>false</includeBaseDirectory> <dependencySets> <dependencySet> <outputDirectory>/</outputDirectory> <useProjectArtifact>true</useProjectArtifact> <includes> <include>org.codelibs:elasticsearch-solr-api</include> <include>org.apache.solr:solr-core</include> ...
略 ... </includes> </dependencySet> </dependencySets> </assembly> 含めるjarファイルを記述する含めるjarファイルを記述する
15.
maven-shade-pluginによりパッケージ名が変えら れている 例:
org.joda→org.elasticsearch.common.joda RestRequestから複数の値を持つリクエストパラ メータが取得できない …/hoge?a=1&a=2&a=3 → a=[1,2,3]ではとれない pom.xmlに記述した依存関係で成果物ができないの で、zipにjarを入れ忘れたり… 非同期なので、デバッグを注意する 作る上でのポイント 15
16.
Solr APIプラグイン & Fessとのデモ 16
17.
Solrのインターフェースでelasticsearchを利用でき るプラグイン mocksolrpluginからフォーク
SolrのXMLとJavaBin形式に対応 SolrJとか使って、検索と更新ができる ファセットやハイライトも可能 Solrのファンクションクエリーは非対応 Solr APIプラグインとは 17
18.
elasticsearchのインストール tar zxvf
elasticsearch-0.90.3.tar.gz プラグインのインストール ./bin/plugin -install elasticsearch-solr-api -url http://maven.codelibs.org/org/codelibs/elasticsearch- solr-api/1.2.1/elasticsearch-solr-api-1.2.1.zip elasticsearchの実行 ./bin/elasticsearch 以下のURLでSolrのようにアクセスできる: http://hostname:9200/[index]/[type]/_solr 導入手順 18
19.
簡単に導入できるOSS全文検索システム Apache
Solrを検索エンジンとして利用 Apacheライセンスで提供 Webサイトやファイルシステムのクロール データベースもクロール可能 ブラウザによる管理画面 MS Office、PDF、圧縮ファイルもサポート ログイン状態で検索結果の出し分け可能 登録したカテゴリごとに検索可能 ・・・などなど機能多数 Fessとは 19
20.
solrlib.diconでSolrのURLを変更する http://localhost:8080/solr/core1/ ↓ http://localhost:9200/solr/core1/_solr elasticserchにmappingを作成する ・・・以上 Fessでの導入手順 20
21.
curl -XPUT 'http://127.0.0.1:9200/solr/core1/_mapping'
-d '…' Fessで利用するmappingを作成 21 "properties" : { "id" : {"type" : "string", "store" : "yes", "index" : "not_analyzed"}, "parentId" : {"type" : "string", "store" : "yes", "index" : "not_analyzed"}, "segment" : {"type" : "string", "store" : "yes", "index" : "not_analyzed"}, "digest" : {"type" : "string", "store" : "yes"}, "boost" : {"type" : "float", "store" : "yes", "null_value" : 1.0}, "host" : {"type" : "string", "store" : "yes"}, "site" : {"type" : "string", "store" : "yes"}, "url" : {"type" : "string", "store" : "yes", "index" : "not_analyzed"}, "content" : {"type" : "string", "store" : "yes"}, "title" : {"type" : "string", "store" : "yes"}, "cache" : {"type" : "string", "store" : "yes", "index" : "not_analyzed"}, "tstamp" : {"type" : "solr_date", "store" : "yes"}, "anchor" : {"type" : "string", "store" : "yes", "index" : "not_analyzed"}, "contentLength" : {"type" : "long", "store" : "yes"}, "lastModified" : {"type" : "solr_date", "store" : "yes"}, "lang" : {"type" : "string", "store" : "yes"}, "mimetype" : {"type" : "string", "store" : "yes", "index" : "not_analyzed"}, "type" : {"type" : "string", "store" : "yes", "index" : "not_analyzed"}, "label" : {"type" : "string", "store" : "yes", "index" : "not_analyzed"}, "role" : {"type" : "string", "store" : "yes", "index" : "not_analyzed"} }
22.
Fessでelasticsearch-solr-api経由でelasticsearch を利用してみる Fess管理URL: http://127.0.0.1:8080/fess/admin
Fess検索URL: http://127.0.0.1:8080/fess/search?query=fess elasticsearch検索URL: http://127.0.0.1:9200/solr/core1/_search? q=fess&pretty=true ※ 差分クロールはファンクションクエリーを利用し ているので利用できない デモ 22
23.
Q&A 23
Download