Submit Search
SolrとElasticsearchを比べてみよう
75 likes
53,554 views
Shinsuke Sugaya
SolrとElasticsearchに関して独自の観点で比較してまとめています。 (実際に比較検討が必要な場合は、ご自身で実施されるのが良いと思います)
Technology
Read more
1 of 30
Download now
Downloaded 235 times
1
2
3
4
5
6
7
8
9
10
11
12
13
Most read
14
15
16
Most read
17
18
Most read
19
20
21
22
23
24
25
26
27
28
29
30
More Related Content
PPTX
世界一わかりやすいClean Architecture
Atsushi Nakamura
PDF
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
PDF
AWSではじめるMLOps
MariOhbuchi
PPTX
グラフデータベース入門
Masaya Dake
PPTX
Redisの特徴と活用方法について
Yuji Otani
PDF
Apache Solr 検索エンジン入門
Yahoo!デベロッパーネットワーク
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
PDF
例外設計における大罪
Takuto Wada
世界一わかりやすいClean Architecture
Atsushi Nakamura
Kubernetesによる機械学習基盤への挑戦
Preferred Networks
AWSではじめるMLOps
MariOhbuchi
グラフデータベース入門
Masaya Dake
Redisの特徴と活用方法について
Yuji Otani
Apache Solr 検索エンジン入門
Yahoo!デベロッパーネットワーク
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
例外設計における大罪
Takuto Wada
What's hot
(20)
PPTX
テストコードの DRY と DAMP
Yusuke Kagata
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
PPTX
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PDF
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
PDF
マイクロサービス 4つの分割アプローチ
増田 亨
PDF
20190911 AWS Black Belt Online Seminar AWS Batch
Amazon Web Services Japan
PPT
Cassandraのしくみ データの読み書き編
Yuki Morishita
PDF
3分でわかるAzureでのService Principal
Toru Makabe
PDF
ナレッジグラフ入門
KnowledgeGraph
PDF
人生がときめくAPIテスト自動化 with Karate
Takanori Suzuki
PDF
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
PPTX
MLOpsはバズワード
Tetsutaro Watanabe
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
PDF
Pythonによる黒魔術入門
大樹 小倉
テストコードの DRY と DAMP
Yusuke Kagata
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
NTT DATA Technology & Innovation
マイクロサービス 4つの分割アプローチ
増田 亨
20190911 AWS Black Belt Online Seminar AWS Batch
Amazon Web Services Japan
Cassandraのしくみ データの読み書き編
Yuki Morishita
3分でわかるAzureでのService Principal
Toru Makabe
ナレッジグラフ入門
KnowledgeGraph
人生がときめくAPIテスト自動化 with Karate
Takanori Suzuki
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
NTT DATA Technology & Innovation
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
MLOpsはバズワード
Tetsutaro Watanabe
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
Pythonによる黒魔術入門
大樹 小倉
Ad
Similar to SolrとElasticsearchを比べてみよう
(14)
PDF
はじめての検索エンジン&Solr 第13回Solr勉強会
Noritsugu Suzuki
PDF
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
Yahoo!デベロッパーネットワーク
PDF
elasticsearchプラグイン入門
Shinsuke Sugaya
PDF
徹底比較!! Heliosearch vs Solr
Ebisawa Shinobu
PPTX
Lucene/Solr Revolution 2016 参加レポート
Shinpei Nakata
PPTX
solr勉強会資料
Atsushi Takayasu
PPTX
技術勉強会(Solr入門編)
Atsushi Takayasu
PPTX
Apache Solr 入門
順平 西本
PDF
Serving Engine as a Service at Yahoo! JAPAN #SolrJP
Yahoo!デベロッパーネットワーク
PPTX
CROSS 2015 全文検索群雄割拠
Katsushi Yamashita
ODP
pixiv サイバーエージェント共同勉強会 solr導入記
Takahiro Matsumiya
PDF
Solr勉強会第10回
Nobutoshi Ogata
PPTX
SunspotではじめるSolr入門
Takao Baba
KEY
AlfrescoとSolr(中編)
Ashitaba YOSHIOKA
はじめての検索エンジン&Solr 第13回Solr勉強会
Noritsugu Suzuki
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
Yahoo!デベロッパーネットワーク
elasticsearchプラグイン入門
Shinsuke Sugaya
徹底比較!! Heliosearch vs Solr
Ebisawa Shinobu
Lucene/Solr Revolution 2016 参加レポート
Shinpei Nakata
solr勉強会資料
Atsushi Takayasu
技術勉強会(Solr入門編)
Atsushi Takayasu
Apache Solr 入門
順平 西本
Serving Engine as a Service at Yahoo! JAPAN #SolrJP
Yahoo!デベロッパーネットワーク
CROSS 2015 全文検索群雄割拠
Katsushi Yamashita
pixiv サイバーエージェント共同勉強会 solr導入記
Takahiro Matsumiya
Solr勉強会第10回
Nobutoshi Ogata
SunspotではじめるSolr入門
Takao Baba
AlfrescoとSolr(中編)
Ashitaba YOSHIOKA
Ad
More from Shinsuke Sugaya
(19)
PDF
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
PDF
LastaFluteでKotlinをはじめよう
Shinsuke Sugaya
PDF
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
PDF
PredictionIOでSparkMLを使った開発方法
Shinsuke Sugaya
PDF
PredictionIOのPython対応計画
Shinsuke Sugaya
PDF
PredictionIO構築入門
Shinsuke Sugaya
PDF
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
Shinsuke Sugaya
PDF
Elasticsearchベースの全文検索システムFess
Shinsuke Sugaya
PDF
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
Shinsuke Sugaya
PDF
Elasticsearchで作る形態素解析サーバ
Shinsuke Sugaya
PDF
ElasticsearchとTasteプラグインで作るレコメンドシステム
Shinsuke Sugaya
PDF
Elasticsearchプラグインの作り方
Shinsuke Sugaya
PDF
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
Shinsuke Sugaya
PDF
Elasticsearch Authプラグインでアクセスコントロール
Shinsuke Sugaya
PDF
DBFlute Mavenプラグインを用いてCRUD作成
Shinsuke Sugaya
PDF
DBFluteを用いて開発されている全文検索システムFess
Shinsuke Sugaya
PDF
Solrベースの全文検索サーバ Fess
Shinsuke Sugaya
PDF
Sc2009autumn s2robot
Shinsuke Sugaya
PDF
オフィスに1台!全文検索Fess
Shinsuke Sugaya
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
LastaFluteでKotlinをはじめよう
Shinsuke Sugaya
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
PredictionIOでSparkMLを使った開発方法
Shinsuke Sugaya
PredictionIOのPython対応計画
Shinsuke Sugaya
PredictionIO構築入門
Shinsuke Sugaya
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
Shinsuke Sugaya
Elasticsearchベースの全文検索システムFess
Shinsuke Sugaya
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
Shinsuke Sugaya
Elasticsearchで作る形態素解析サーバ
Shinsuke Sugaya
ElasticsearchとTasteプラグインで作るレコメンドシステム
Shinsuke Sugaya
Elasticsearchプラグインの作り方
Shinsuke Sugaya
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
Shinsuke Sugaya
Elasticsearch Authプラグインでアクセスコントロール
Shinsuke Sugaya
DBFlute Mavenプラグインを用いてCRUD作成
Shinsuke Sugaya
DBFluteを用いて開発されている全文検索システムFess
Shinsuke Sugaya
Solrベースの全文検索サーバ Fess
Shinsuke Sugaya
Sc2009autumn s2robot
Shinsuke Sugaya
オフィスに1台!全文検索Fess
Shinsuke Sugaya
SolrとElasticsearchを比べてみよう
1.
SolrとElasticsearchを比べてみよう Tech Talks
2.
名前: 菅谷信介
所属: N2SM, Inc. オープンソース活動: Apache Portals (Jetspeed2など) コミッタ Seasarプロジェクトコミッタ(S2Container, Teeda, SAStruts, DBFlute, S2Portlet, S2Robot..) Fessプロジェクト運営 などなど・・・ Github: https://github.com/codelibs Blog: http://www.chazine.com/ Twitter: https://twitter.com/shinsuke_sugaya/ 自己紹介
3.
アジェンダ Solrとは Elasticsearchとは
SolrとElasticsearchの比較 まとめ
4.
検索ライブラリ Luceneなど 検索サーバ Solr、Elasticsearch、groongaなど 検索サーバ+クローラ Hyper Estraier、Namazu、Nutchなど 検索システム Fess、商用検索システム(GSAとか) 検索関連のソフトウェア まず、検索業界的な話… 検索関連の知識が必要 検索関連の知識なくても利用可能
5.
Apache Solr
6.
オープンソースのエンタープライズ検索プラットフォーム 開発元:Apache
Software Foundation (2007~) 特徴 高度な全文検索機能 大量のウェブトラフィックに最適化 XML, JSONやHTTPのインターフェース 包括的なHTMLの管理画面 監視用にJMXで利用可能なサーバ統計情報 リニアにスケール可能、自動インデックスレプリケー ション、自動フェールオーバーと復旧 リアルタイムインデクシング XMLでの柔軟なカスタマイズ性 拡張可能なプラグインアーキテクチャ Apache Solr http://lucene.apache.org/solr/
7.
最近、リリースのペースが速い 全文検索としては実績や信頼性が高い
政治的なところでゴタゴタしている Elasticsearchとの競い合っている気がする SolrCloudはElasticsearchと比べてしまうと作る のがちょっと面倒 サジェストが日本語環境で使いにくい まるっと全文検索システムがほしいならFessだね Solrへの個人的な感想
8.
Elasticsearch
9.
オープンソースの分散リアルタイム検索&分析エンジン 開発元:Elasticsearch
(2010~) 特徴 リアルタイムデータが扱える リアルタイム分析 分散環境(スケールできる) 高可用性 マルチテナント 全文検索 ドキュメント志向 衝突管理(楽観的バージョン制御) スキーマフリー RESTful API 操作単位での永続性(トランザクションログ) Elasticsearch http://www.elasticsearch.org/
10.
月一くらいでリリースしてくる Webサイトのドキュメントがわかりにくいので、 情報はググるのが良い
スキーマフリーはあまり現実的ではない Elasticsearchの企業としては、かなりの投資され ている (お金がありそう) LuceneのコミッターがElasticsearchに流れている クラスタを組むのは非常に簡単 プラグインを作れば簡単に拡張ができる 問題に遭遇したら、解決にはそれなりのスキルが 必要… Elasticsearchへの個人的な感想
11.
比較 個人的な観点でまとめる…
12.
一応… 世の中には http://solr-vs-elasticsearch.com/ という感じでまとめてくれる人もいるので 細かいことはそのあたりを 見ると良いかも…
13.
検索クエリー Solr 「Foo Bar」のようなクエリー文字列
わかりやすいが、複雑なものは微妙かも リクエストパラメータで指定 (ファセット等) Elasticsearch 構造的なクエリーDSL 慣れれば複雑なクエリーも書きやすい RESTfulなAPI Solrな人はquery_stringから使いはじめると良い かも… Solrは直観的、Elasticsearchは学習コストがあるが クエリーDSLは慣れれば使いやすい
14.
検索クエリー(例) Solr http://…/select/?wt=json&indent=on&q=video+card&fl =name,id&hl=true&hl.fl=name Elasticsearch { “query” : { "query_string"
: { "default_field" : "content", "query" : "this AND that OR thus" } }, “size”: 10 }
15.
高度な検索 共通 空間検索、ファセット、類似文書検索、フィルタ クエリー、ハイライト、スクロール取得、など Solr Results
Groupingが可能 (Elasticsearch 1.3で同様のことが可能になるらしい…) Elasticsearch Percolatorが可能 Aggregationは分析には便利 多少の差はあるが互いに実装される可能性はある
16.
API Solr XML, CSV,
JSON, バイナリでの応答が可能 クライアントライブラリはSolrJやサードパーティ 製がいろいろある Elasticsearch JSON, YAML, SMILE, バイナリでの応答が可能 バイナリでの通信はTransportClientを利用 クライアントライブラリはサードパーティ製がい ろいろある どちらも大差はないが、Elasticsearchの ドキュメント志向の方がわかりやすいかも
17.
アーキテクチャ Solr サーブレットベース solrconfig.xmlで独自にコンポーネント管理 Elasticsearch
API等の通信まわりはNettyを利用 Guiceベースのコンポーネント管理 Guiceでコンポーネント管理されているので Elasticsearchの方がコードはすっきりしている
18.
インデックス構造 Solr コア単位にドキュメントが保存される SolrCloud コレクション単位にドキュメントが保存される
コレクションは複数のシャードで構成される シャードは複数のノードに配置される Elasticsearch インデックス単位にドキュメントが保存される インデックスは複数のシャードで構成される シャードは複数のノードに配置される
19.
インデックス構造(図) Solr SolrCloud/Elasticsearch Core Shard Index/Collection Shard Shard Shard Index/Collection Cluster Core
20.
スキーマ(データ型) Solr schema.xmlにフィールド型を指定する Solr
4.4からスキーマレスも可能 Elasticsearch 何もしないとスキーマレスで利用可能 typeごとにmappingで指定する スキーマレスでも利用可能だが きちんと定義して利用するのが安全
21.
クラスタ Solr SolrCloudを構築する ZooKeeperでノード管理する Elasticsearch
起動すればクラスタになる ZenDiscoveryでノード管理する ZenDiscovery以外の方法でもノード管理が可能 自動でシャードのリバランスが可能 Elasticsearchは標準でクラスタ構成を 意識しているので、構築が容易
22.
分散検索 Solr shardsリクエストパラメータで指定する SolrCloud SolrJのCloudSolrServerを利用する (ZooKeeperを利用) Elasticsearch
デフォルトで分散検索 search_typeやpreferenceなどで調整できる Elasticsearchの方が分散検索の パラメータのチューニングしやすい
23.
リアルタイム Solr ソフトコミットで対応可能 solrconfig.xmlで設定する Elasticsearch
デフォルトは1秒でrefresh反映される 30分でflushされる 各インデックスに対して設定する どちらも同じようなことはできるが、 Solrは検索パフォーマンス、 Elasticsearchは情報の質、を意識している
24.
拡張性 Solr 拡張したいインターフェースを実装し、Jarファイ ルにまとめて配置し、solrconfig.xml等で設定する 拡張したい部分の機能の知識が必要 Elasticsearch
プラグインの仕組みにしたがって作成する pluginコマンドでインストール プラグインの種類 Analysis, Discovery, River, Transport, Scripting, Site, Repository, … Elasticsearchの方が拡張・機能追加がしやすい
25.
バージョン Solr Luceneと一緒にリリースされてくる 現状に問題がなければ、積極的にバージョンを上 げに行く理由はない
(と思う) Elasticsearch 月一などのペースでリリースされてくる クラスタまわりなど、いろいろと変更が入るため、 できるだけバージョンアップに追随する方が良い 1.0からローリングアップグレードも可能 しばらくはElasticsearchは積極的に バージョンを上げた方が良いかも…
26.
将来性 Solr 検索プラットフォームを目指していく(と思う) 全文検索観点では今後も開発され、安定した利用 ができる(と思う) Elasticsearch
ELKスタック的な感じで波に乗っている スケールできる利点で今後も伸びていく(と思う) 分析やログのストア先として期待できる(と思う) Luceneベースだし、使い分けではないか…
27.
まとめ
28.
まとめ SolrもElasticsearchもLuceneベースであるので、 検索観点で大きく異なる部分は少ない 全文検索として、信頼性が求めるならSolr
スケールすることを考えるのであれば、SolrCloud かElasticsearch SolrのスペシャリストがいるならSolrCloudが良い が、そうでなければElasticsearchで良いと思う 分析とか、集計情報を扱いたければElasticsearch 問題に遭遇した時にはElasticsearchの方が解決す るための難易度が高いと思う
29.
補足 ちょっと宣伝… N2SM, Inc.ではFess/Solr/Elasticsearchなどの 検索ソリューションに関する導入・開発支援を 提供しています http://www.n2sm.net/
30.
Q&A
Download