質問: Elastic Searchと機能に関するSunspotの比較 太陽斑点(Solr)と弾性検索(Lucene)の比較質問が見つかりません。 両方の検索エンジンでプロとコンの違いは何ですか? 私は2つの宝石の比較の中でより良い内部を得るために対の他の質問を見たので、これは両方のエンジンの初心者(私のような)のために良い洞察を得ることができることを願っています。私はすでに黒点を見てきましたが、いくつか問題があります。だから私は検索した * 対 * http://sunspot.github.com/
回答: 私はRubyでフルテキスト検索が必要なプロジェクトに取り掛かりました。当然、私はSolr + Sunspotを使い始めましたが、それを動作させることはできませんでした。ドキュメントが正しく索引付けされているかどうかを判断し、実行時クラスパスを把握して、アナライザー/トークナイザ・クラスを追加し、config.xml/schema.xmlなどを編集できるようにしました。それを受け取ってインデックスを作成したと言いましたが、クエリの結果は得られませんでした。私はちょうどカップルの日の後にあきらめた、それは構成地獄のようなものだった。 ElasticSearch + Tireはそれを稼働させるのに夢中でしたが、私は1時間でそれを稼働させました。 Luceneは単なるJava検索ライブラリなので、Solrはフルサービス検索アプリとして開発されましたが、Solrは典型的なJava Webアプリケーションをすべてトラップしています。 Javaサーブレット・コンテナ(JettyまたはTomcat)。 ElasticSearchはLuceneもベースにしています。サーブレットコンテナを内蔵していますので、デーモンのように動作し、非常にストレートなJSON + REST APIを使用してテストに最適です。それはスキーマレスなので、設定ファイルを編集しなくても私にとってはうまくいった。すべてが美しく働いた。 私が本当に必要としていたのは中国語の検索で、ElasticSearchはすでにLueceneのSmartChineseAnalyzerをプラグインとしてパッケージ化していました。そのレベルのカスタマイズが必要な場合、アナライザ/トークナイザチェーンをカスタマイズすることがどれほど難しいかはわかりません。 ElasticSearchとTireのDocmentationはどちらも一流です。 **タイヤ(ElasticSearch用Rubyライブラリ)** デモを試すと、レールsearchappをインストールし、ElasticSearchバイナリをダウンロードして実行し、Webrickを自動的に起動します。 ``` $ rails new searchapp -m https://raw.github.com/karmi/tire/master/examples/rails-application-template.rb ``` 私のシステムでは、Javascriptエンジンを持っていないことに不満を抱いていました(Rails 3.2では、デフォルトではthereubyracer gemが含まれなくなりました)ので、 ``` $ wget https://raw.github.com/karmi/tire/master/examples/rails-application-template.rb $ nano rails-application-template.rb ``` ファイルに宝石「therabyracer」を追加してください(宝石のタイヤと宝石のwill_paginateを探してください)。 ``` $ rails new searchapp -m rails-application-template.rb ``` 私自身のアプリケーションを開発するために、私はElasticSearchのtarballを落とし、-fスイッチを使ってフォアグラウンドで実行します(Ctrl-Cで簡単に停止できます) ``` $ bin/elasticsearch -f ``` eleasticsearch-headプラグインをインストールすると、Web管理インターフェースを取得できます また、私が知ったこともあります.1対多のリレーションシップモデルを使用している場合、Tireは検索結果でそれらを解決せず、フラットなコレクションを返します。あなたのhas_manyとbelongs_toの関係は、完全なオブジェクトではなくコレクション内のオブジェクトIDになります。