私は求人掲示板 (PostJobFree.com) を運営しており、約 100 万件の履歴書が掲載されています。履歴書の平均サイズは約 4000 バイトです。PostJobFree は、ASP.NET/C#/SQL Server 2008 R2 および MS SQL 全文検索を使用します。
さまざまな記事を読んだ結果、Apache Lucene 検索に切り替えると、検索がより高速でスケーラブルになると思います。しかし、私はまだそれを試したことはありません。
質問 1 : 約 100 万ドキュメントのマークで MS SQL 全文検索から Apache Lucene に切り替えるのは正しい選択ですか? それとも、検索速度が大幅に向上していることにまだ気付かないでしょうか? データベース内の検索可能なドキュメントの数は、毎月約 10% 増加すると予想しています。
質問 2 : 最適な Lucene プラットフォームはどれですか?Solr または ElasticSearch?
これまでに見つけたものは次のとおりです。
1. Google 検索トレンド http://www.google.com/trends/explore#q=elasticsearch%20search%2C%20solr%20search%2C%20sphinx%20search%2C%20%22sql%20server%22%20%22full -text%20search%22&cmpt=q 現在 (2013 年 4 月)
- 現時点では Solr が最も人気のある検索プラットフォームのようですが、Solr の人気は昨年 (2012 年 4 月 ~ 2013 年 4 月) はまったく伸びませんでした。
- ElasticSearch は 2010 年末から急速に成長していますが、まだ人気のある Solr の約 40% にすぎません。
- Sphinx 検索は 2006 年から 2009 年にかけて人気が高まり、2009 年以降は減少傾向にあります。現在、ElasticSearch と同じくらい人気があります。
- SQL Server のフルテキスト検索は、長期的に衰退しています。
これらの傾向は、これらの検索プラットフォームの品質と相関していますか?
2. StackOverflow の過去の質問
StackOverflow は 2010 年 2 月に検索プラットフォーム比較の質問をしました: ElasticSearch、Sphinx、Lucene、Solr、Xapian。どの用途にどれが合う?
その作成者である Shay Banon による「ElasticSearch」の回答は、当時のお気に入りでした。
同様の質問が 2012 年後半に行われました: Solr vs. ElasticSearch
最も多かった回答は、ElasticSearch を支持するものでした。
3. その他
Nick Zadrosny (Solr ホスティング サービス websolr.com と ElasticSearch ホスティング サービス bonsai.io の両方を運営) は、2012 年 4 月に ElasticSearch の支持者でした: https://news.ycombinator.com/item?id=3833735
今日(2013年4月)のニックの答えは次のとおりです。
Elasticsearch は、Solr に比べて初心者に優しい傾向があります。Elasticsearch には優れた API があり、新しいアプリケーションのセットアップと構成が明らかに簡単です。とはいえ、Solr には成熟度と堅牢性の面でまだいくつかの利点があり、運用構成について心配する必要がない場合、学習曲線はそれほど不合理ではありません。さらに、どちらも Lucene で同じルーツを共有し、同様の機能を提供します。どちらもニーズに等しく適しているはずです。
「堅牢性」とは正確には何を意味し、その堅牢性の違いは今後数年間でどのように変化するのでしょうか?
4.浸透
ElasticSearch には Percolation 機能があり、すぐに配信される再開検索アラートを実装できます。Solrにはそのようなものがありますか?