Submit Search
Upload
SolrとElasticsearchを比べてみよう
•
75 likes
•
52,667 views
Shinsuke Sugaya
Follow
SolrとElasticsearchに関して独自の観点で比較してまとめています。 (実際に比較検討が必要な場合は、ご自身で実施されるのが良いと思います)
Read less
Read more
Technology
Report
Share
Report
Share
1 of 30
Download now
Download to read offline
Recommended
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
Recommended
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Takahiko Ito
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
Databricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptx
otato
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone
MLOps入門
MLOps入門
Hiro Mura
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
Amazon Web Services Japan
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
yoku0825
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
Teppei Sato
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
Kuniteru Asami
DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFess
Shinsuke Sugaya
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
Shinsuke Sugaya
More Related Content
What's hot
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
Databricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptx
otato
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Amazon Web Services Japan
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
PostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone
MLOps入門
MLOps入門
Hiro Mura
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
Amazon Web Services Japan
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
yoku0825
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
Teppei Sato
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
Yoshiyasu SAEKI
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
Kuniteru Asami
What's hot
(20)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Databricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptx
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
PostgreSQLアンチパターン
PostgreSQLアンチパターン
MLOps入門
MLOps入門
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
KafkaとAWS Kinesisの比較
KafkaとAWS Kinesisの比較
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
Similar to SolrとElasticsearchを比べてみよう
DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFess
Shinsuke Sugaya
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
Shinsuke Sugaya
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch Authプラグインでアクセスコントロール
Shinsuke Sugaya
Renewed using elasticsearchonaspnet-core5
Renewed using elasticsearchonaspnet-core5
Shotaro Suzuki
Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127
Shotaro Suzuki
Solrベースの全文検索サーバ Fess
Solrベースの全文検索サーバ Fess
Shinsuke Sugaya
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
Shinsuke Sugaya
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fess
Shinsuke Sugaya
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
Shinsuke Sugaya
Integrating elasticsearch with asp dot net core
Integrating elasticsearch with asp dot net core
Shotaro Suzuki
JJUG CCC 2014 ATL
JJUG CCC 2014 ATL
Recruit Technologies
Elastic Aquia Joint webinar-20211006
Elastic Aquia Joint webinar-20211006
Shotaro Suzuki
elasticsearchプラグイン入門
elasticsearchプラグイン入門
Shinsuke Sugaya
Apache Solr 入門
Apache Solr 入門
順平 西本
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤
Takumi Sakamoto
Elastic Stackの紹介とOpenStackでの活用事例(Searchlightなど) - OpenStack最新情報セミナー 2016年5月
Elastic Stackの紹介とOpenStackでの活用事例(Searchlightなど) - OpenStack最新情報セミナー 2016年5月
VirtualTech Japan Inc.
Azure Datalake 大全
Azure Datalake 大全
Daiyu Hatakeyama
全文検索入門
全文検索入門
antibayesian 俺がS式だ
Learn, build, and scale with elastic - realizing great programming experience...
Learn, build, and scale with elastic - realizing great programming experience...
Shotaro Suzuki
Azure kobebase lt-20201120
Azure kobebase lt-20201120
Shotaro Suzuki
Similar to SolrとElasticsearchを比べてみよう
(20)
DBFluteを用いて開発されている全文検索システムFess
DBFluteを用いて開発されている全文検索システムFess
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
Elasticsearch Authプラグインでアクセスコントロール
Elasticsearch Authプラグインでアクセスコントロール
Renewed using elasticsearchonaspnet-core5
Renewed using elasticsearchonaspnet-core5
Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127
Solrベースの全文検索サーバ Fess
Solrベースの全文検索サーバ Fess
ElasticsearchとTasteプラグインで作るレコメンドシステム
ElasticsearchとTasteプラグインで作るレコメンドシステム
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fess
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
Integrating elasticsearch with asp dot net core
Integrating elasticsearch with asp dot net core
JJUG CCC 2014 ATL
JJUG CCC 2014 ATL
Elastic Aquia Joint webinar-20211006
Elastic Aquia Joint webinar-20211006
elasticsearchプラグイン入門
elasticsearchプラグイン入門
Apache Solr 入門
Apache Solr 入門
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤
Elastic Stackの紹介とOpenStackでの活用事例(Searchlightなど) - OpenStack最新情報セミナー 2016年5月
Elastic Stackの紹介とOpenStackでの活用事例(Searchlightなど) - OpenStack最新情報セミナー 2016年5月
Azure Datalake 大全
Azure Datalake 大全
全文検索入門
全文検索入門
Learn, build, and scale with elastic - realizing great programming experience...
Learn, build, and scale with elastic - realizing great programming experience...
Azure kobebase lt-20201120
Azure kobebase lt-20201120
More from Shinsuke Sugaya
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
Shinsuke Sugaya
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
Shinsuke Sugaya
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
Shinsuke Sugaya
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法
Shinsuke Sugaya
PredictionIOのPython対応計画
PredictionIOのPython対応計画
Shinsuke Sugaya
PredictionIO構築入門
PredictionIO構築入門
Shinsuke Sugaya
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
Shinsuke Sugaya
Elasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFess
Shinsuke Sugaya
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
Shinsuke Sugaya
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
Shinsuke Sugaya
DBFlute Mavenプラグインを用いてCRUD作成
DBFlute Mavenプラグインを用いてCRUD作成
Shinsuke Sugaya
Sc2009autumn s2robot
Sc2009autumn s2robot
Shinsuke Sugaya
More from Shinsuke Sugaya
(12)
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
Fess/Elasticsearchを使った業務で使える?全文検索への道
Fess/Elasticsearchを使った業務で使える?全文検索への道
PredictionIOでSparkMLを使った開発方法
PredictionIOでSparkMLを使った開発方法
PredictionIOのPython対応計画
PredictionIOのPython対応計画
PredictionIO構築入門
PredictionIO構築入門
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
ESFluteによるElasticsearchでのO/Rマッパーを用いた開発
Elasticsearchベースの全文検索システムFess
Elasticsearchベースの全文検索システムFess
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
DBFlute Mavenプラグインを用いてCRUD作成
DBFlute Mavenプラグインを用いてCRUD作成
Sc2009autumn s2robot
Sc2009autumn s2robot
Recently uploaded
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Recently uploaded
(9)
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
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 now