Movatterモバイル変換


[0]ホーム

URL:


Shinsuke Sugaya, profile picture
Uploaded byShinsuke Sugaya
53,661 views

SolrとElasticsearchを比べてみよう

SolrとElasticsearchに関して独自の観点で比較してまとめています。(実際に比較検討が必要な場合は、ご自身で実施されるのが良いと思います)

Embed presentation

Downloaded 235 times
SolrとElasticsearchを比べてみようTech Talks
 名前: 菅谷信介 所属: 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/自己紹介
アジェンダ Solrとは Elasticsearchとは SolrとElasticsearchの比較 まとめ
検索ライブラリLuceneなど検索サーバSolr、Elasticsearch、groongaなど検索サーバ+クローラHyper Estraier、Namazu、Nutchなど検索システムFess、商用検索システム(GSAとか)検索関連のソフトウェアまず、検索業界的な話…検索関連の知識が必要検索関連の知識なくても利用可能
Apache Solr
 オープンソースのエンタープライズ検索プラットフォーム 開発元:Apache Software Foundation (2007~) 特徴 高度な全文検索機能 大量のウェブトラフィックに最適化 XML, JSONやHTTPのインターフェース 包括的なHTMLの管理画面 監視用にJMXで利用可能なサーバ統計情報 リニアにスケール可能、自動インデックスレプリケーション、自動フェールオーバーと復旧 リアルタイムインデクシング XMLでの柔軟なカスタマイズ性 拡張可能なプラグインアーキテクチャApache Solr http://lucene.apache.org/solr/
 最近、リリースのペースが速い 全文検索としては実績や信頼性が高い 政治的なところでゴタゴタしている Elasticsearchとの競い合っている気がする SolrCloudはElasticsearchと比べてしまうと作るのがちょっと面倒 サジェストが日本語環境で使いにくい まるっと全文検索システムがほしいならFessだねSolrへの個人的な感想
Elasticsearch
 オープンソースの分散リアルタイム検索&分析エンジン 開発元:Elasticsearch (2010~) 特徴 リアルタイムデータが扱える リアルタイム分析 分散環境(スケールできる) 高可用性 マルチテナント 全文検索 ドキュメント志向 衝突管理(楽観的バージョン制御) スキーマフリー RESTful API 操作単位での永続性(トランザクションログ)Elasticsearch http://www.elasticsearch.org/
 月一くらいでリリースしてくる Webサイトのドキュメントがわかりにくいので、情報はググるのが良い スキーマフリーはあまり現実的ではない Elasticsearchの企業としては、かなりの投資されている (お金がありそう) LuceneのコミッターがElasticsearchに流れている クラスタを組むのは非常に簡単 プラグインを作れば簡単に拡張ができる 問題に遭遇したら、解決にはそれなりのスキルが必要…Elasticsearchへの個人的な感想
比較個人的な観点でまとめる…
一応…世の中にはhttp://solr-vs-elasticsearch.com/という感じでまとめてくれる人もいるので細かいことはそのあたりを見ると良いかも…
検索クエリーSolr 「Foo Bar」のようなクエリー文字列 わかりやすいが、複雑なものは微妙かも リクエストパラメータで指定 (ファセット等)Elasticsearch 構造的なクエリーDSL 慣れれば複雑なクエリーも書きやすい RESTfulなAPI Solrな人はquery_stringから使いはじめると良いかも…Solrは直観的、Elasticsearchは学習コストがあるがクエリーDSLは慣れれば使いやすい
検索クエリー(例)Solrhttp://…/select/?wt=json&indent=on&q=video+card&fl=name,id&hl=true&hl.fl=nameElasticsearch{“query” : {"query_string" : {"default_field" : "content","query" : "this AND that OR thus"}},“size”: 10}
高度な検索共通 空間検索、ファセット、類似文書検索、フィルタクエリー、ハイライト、スクロール取得、などSolr Results Groupingが可能(Elasticsearch 1.3で同様のことが可能になるらしい…)Elasticsearch Percolatorが可能 Aggregationは分析には便利多少の差はあるが互いに実装される可能性はある
APISolr XML, CSV, JSON, バイナリでの応答が可能 クライアントライブラリはSolrJやサードパーティ製がいろいろあるElasticsearch JSON, YAML, SMILE, バイナリでの応答が可能 バイナリでの通信はTransportClientを利用 クライアントライブラリはサードパーティ製がいろいろあるどちらも大差はないが、Elasticsearchのドキュメント志向の方がわかりやすいかも
アーキテクチャSolr サーブレットベース solrconfig.xmlで独自にコンポーネント管理Elasticsearch API等の通信まわりはNettyを利用 Guiceベースのコンポーネント管理Guiceでコンポーネント管理されているのでElasticsearchの方がコードはすっきりしている
インデックス構造Solr コア単位にドキュメントが保存されるSolrCloud コレクション単位にドキュメントが保存される コレクションは複数のシャードで構成される シャードは複数のノードに配置されるElasticsearch インデックス単位にドキュメントが保存される インデックスは複数のシャードで構成される シャードは複数のノードに配置される
インデックス構造(図)Solr SolrCloud/ElasticsearchCore ShardIndex/CollectionShardShardShardIndex/CollectionClusterCore
スキーマ(データ型)Solr schema.xmlにフィールド型を指定する Solr 4.4からスキーマレスも可能Elasticsearch 何もしないとスキーマレスで利用可能 typeごとにmappingで指定するスキーマレスでも利用可能だがきちんと定義して利用するのが安全
クラスタSolr SolrCloudを構築する ZooKeeperでノード管理するElasticsearch 起動すればクラスタになる ZenDiscoveryでノード管理する ZenDiscovery以外の方法でもノード管理が可能 自動でシャードのリバランスが可能Elasticsearchは標準でクラスタ構成を意識しているので、構築が容易
分散検索Solr shardsリクエストパラメータで指定するSolrCloud SolrJのCloudSolrServerを利用する(ZooKeeperを利用)Elasticsearch デフォルトで分散検索 search_typeやpreferenceなどで調整できるElasticsearchの方が分散検索のパラメータのチューニングしやすい
リアルタイムSolr ソフトコミットで対応可能 solrconfig.xmlで設定するElasticsearch デフォルトは1秒でrefresh反映される 30分でflushされる 各インデックスに対して設定するどちらも同じようなことはできるが、Solrは検索パフォーマンス、Elasticsearchは情報の質、を意識している
拡張性Solr 拡張したいインターフェースを実装し、Jarファイルにまとめて配置し、solrconfig.xml等で設定する 拡張したい部分の機能の知識が必要Elasticsearch プラグインの仕組みにしたがって作成する pluginコマンドでインストール プラグインの種類 Analysis, Discovery, River, Transport,Scripting, Site, Repository, …Elasticsearchの方が拡張・機能追加がしやすい
バージョンSolr Luceneと一緒にリリースされてくる 現状に問題がなければ、積極的にバージョンを上げに行く理由はない (と思う)Elasticsearch 月一などのペースでリリースされてくる クラスタまわりなど、いろいろと変更が入るため、できるだけバージョンアップに追随する方が良い 1.0からローリングアップグレードも可能しばらくはElasticsearchは積極的にバージョンを上げた方が良いかも…
将来性Solr 検索プラットフォームを目指していく(と思う) 全文検索観点では今後も開発され、安定した利用ができる(と思う)Elasticsearch ELKスタック的な感じで波に乗っている スケールできる利点で今後も伸びていく(と思う) 分析やログのストア先として期待できる(と思う)Luceneベースだし、使い分けではないか…
まとめ
まとめ SolrもElasticsearchもLuceneベースであるので、検索観点で大きく異なる部分は少ない 全文検索として、信頼性が求めるならSolr スケールすることを考えるのであれば、SolrCloudかElasticsearch SolrのスペシャリストがいるならSolrCloudが良いが、そうでなければElasticsearchで良いと思う 分析とか、集計情報を扱いたければElasticsearch 問題に遭遇した時にはElasticsearchの方が解決するための難易度が高いと思う
補足ちょっと宣伝… N2SM, Inc.ではFess/Solr/Elasticsearchなどの検索ソリューションに関する導入・開発支援を提供していますhttp://www.n2sm.net/
Q&A

Recommended

PPTX
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
PPTX
はじめてのElasticsearchクラスタ
PDF
分散トレーシング技術について(Open tracingやjaeger)
PDF
爆速クエリエンジン”Presto”を使いたくなる話
PDF
社内ドキュメント検索システム構築のノウハウ
PPTX
Azure Api Management 俺的マニュアル 2020年3月版
PPTX
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
PPT
Cassandraのしくみ データの読み書き編
PDF
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
PDF
AWS Black Belt Online Seminar AWS Direct Connect
PDF
KafkaとAWS Kinesisの比較
PDF
マイクロにしすぎた結果がこれだよ!
PPTX
本当は恐ろしい分散システムの話
PDF
Yahoo! JAPANにおけるApache Cassandraへの取り組み
PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
PDF
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
PDF
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
PDF
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
PPTX
Redisの特徴と活用方法について
PDF
Elasticsearch勉強会#44 20210624
PPTX
イベント・ソーシングを知る
PDF
マルチテナント化で知っておきたいデータベースのこと
PDF
CloudFrontのリアルタイムログをKibanaで可視化しよう
PPTX
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
PDF
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
PDF
はじめての検索エンジン&Solr 第13回Solr勉強会
PDF
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP

More Related Content

PPTX
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
PPTX
はじめてのElasticsearchクラスタ
PDF
分散トレーシング技術について(Open tracingやjaeger)
PDF
爆速クエリエンジン”Presto”を使いたくなる話
PDF
社内ドキュメント検索システム構築のノウハウ
PPTX
Azure Api Management 俺的マニュアル 2020年3月版
PPTX
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
はじめてのElasticsearchクラスタ
分散トレーシング技術について(Open tracingやjaeger)
爆速クエリエンジン”Presto”を使いたくなる話
社内ドキュメント検索システム構築のノウハウ
Azure Api Management 俺的マニュアル 2020年3月版
Apache Sparkの基本と最新バージョン3.2のアップデート(Open Source Conference 2021 Online/Fukuoka ...

What's hot

PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
PPT
Cassandraのしくみ データの読み書き編
PDF
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
PDF
AWS Black Belt Online Seminar AWS Direct Connect
PDF
KafkaとAWS Kinesisの比較
PDF
マイクロにしすぎた結果がこれだよ!
PPTX
本当は恐ろしい分散システムの話
PDF
Yahoo! JAPANにおけるApache Cassandraへの取り組み
PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
PDF
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
PDF
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
PDF
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
PPTX
Redisの特徴と活用方法について
PDF
Elasticsearch勉強会#44 20210624
PPTX
イベント・ソーシングを知る
PDF
マルチテナント化で知っておきたいデータベースのこと
PDF
CloudFrontのリアルタイムログをKibanaで可視化しよう
PPTX
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
PDF
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Cassandraのしくみ データの読み書き編
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
AWS Black Belt Online Seminar AWS Direct Connect
KafkaとAWS Kinesisの比較
マイクロにしすぎた結果がこれだよ!
本当は恐ろしい分散システムの話
Yahoo! JAPANにおけるApache Cassandraへの取り組み
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
リクルートのビッグデータ活用基盤とデータ活用に向けた取組み
ヤフーのプライベートクラウドとクラウドエンジニアの業務について
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
Redisの特徴と活用方法について
Elasticsearch勉強会#44 20210624
イベント・ソーシングを知る
マルチテナント化で知っておきたいデータベースのこと
CloudFrontのリアルタイムログをKibanaで可視化しよう
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
クラウドのためのアーキテクチャ設計 - ベストプラクティス -

Similar to SolrとElasticsearchを比べてみよう

PDF
はじめての検索エンジン&Solr 第13回Solr勉強会
PDF
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
PDF
elasticsearchプラグイン入門
PDF
徹底比較!! Heliosearch vs Solr
PPTX
Lucene/Solr Revolution 2016 参加レポート
PPTX
solr勉強会資料
PPTX
技術勉強会(Solr入門編)
PPTX
Apache Solr 入門
PDF
Serving Engine as a Service at Yahoo! JAPAN #SolrJP
PPTX
CROSS 2015 全文検索群雄割拠
ODP
pixiv サイバーエージェント共同勉強会 solr導入記
PDF
Solr勉強会第10回
PPTX
SunspotではじめるSolr入門
KEY
AlfrescoとSolr(中編)
はじめての検索エンジン&Solr 第13回Solr勉強会
第15回Solr勉強会 - Solr at Yahoo! JAPAN #SolrJP
elasticsearchプラグイン入門
徹底比較!! Heliosearch vs Solr
Lucene/Solr Revolution 2016 参加レポート
solr勉強会資料
技術勉強会(Solr入門編)
Apache Solr 入門
Serving Engine as a Service at Yahoo! JAPAN #SolrJP
CROSS 2015 全文検索群雄割拠
pixiv サイバーエージェント共同勉強会 solr導入記
Solr勉強会第10回
SunspotではじめるSolr入門
AlfrescoとSolr(中編)

More from Shinsuke Sugaya

PDF
LastaFluteでKotlinをはじめよう
PDF
Fess/Elasticsearchを使った業務で使える?全文検索への道
PDF
PredictionIOでSparkMLを使った開発方法
PDF
PredictionIOのPython対応計画
PDF
PredictionIO構築入門
PDF
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
PDF
Elasticsearchベースの全文検索システムFess
PDF
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
PDF
Elasticsearchで作る形態素解析サーバ
PDF
ElasticsearchとTasteプラグインで作るレコメンドシステム
PDF
Elasticsearchプラグインの作り方
PDF
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
PDF
Elasticsearch Authプラグインでアクセスコントロール
PDF
DBFlute Mavenプラグインを用いてCRUD作成
PDF
DBFluteを用いて開発されている全文検索システムFess
PDF
Solrベースの全文検索サーバ Fess
PDF
Sc2009autumn s2robot
PDF
オフィスに1台!全文検索Fess
LastaFluteでKotlinをはじめよう
Fess/Elasticsearchを使った業務で使える?全文検索への道
PredictionIOでSparkMLを使った開発方法
PredictionIOのPython対応計画
PredictionIO構築入門
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
Elasticsearchベースの全文検索システムFess
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
Elasticsearchで作る形態素解析サーバ
ElasticsearchとTasteプラグインで作るレコメンドシステム
Elasticsearchプラグインの作り方
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
Elasticsearch Authプラグインでアクセスコントロール
DBFlute Mavenプラグインを用いてCRUD作成
DBFluteを用いて開発されている全文検索システムFess
Solrベースの全文検索サーバ Fess
Sc2009autumn s2robot
オフィスに1台!全文検索Fess

SolrとElasticsearchを比べてみよう


[8]ページ先頭

©2009-2025 Movatter.jp