Elasticsearchの話を聞いてみる

検索エンジンは何を使うのがいいのでしょうか。 DBにした後にやっぱり検索エンジンにしようとなるなら、 最初から検索エンジンにした方がよいと考えています。

選択肢としては

Solr
Elasticsearch(オープンソース)
CloudSearch(AWS)

Solr

現在、SolrからElasticsearchに乗り換えるヒトが多いようです。

Elasticsearch

  • 使用しているサービス
GitHub
mozilla
stackoverflow

最近では最もきている気がします。

cluster名やnode名はデフォルトで設定しないようにしないとデータが消えることがあるようです。
また、ヒープサイズはメモリの半分以下にして、maxとminは同じにしてくださいとのことです。

その他注意点が多くあるらしいですが、基本はドキュメントに書いてあるようです。
ハマる原因のほとんどはドキュメントを読まないことに起因するようです。

つまり、ドキュメントを読んで、検索エンジンの仕組みを理解して、Elasticsearchの特性を理解していないとうまく使えないようです。

http://www.elasticsearch.com/guide/en/elasticsearch/reference/current/_basic_concepts.html

ログサーバーはfluentd,そこからS3とElasticsearchに投げる(Kibanaで表示)。 S3のものはバッチでRedshiftにロードする

http://blog.yoslab.com/entry/2015/02/13/203251

CloudSearch

検索ドメインを作成して設定して、  
検索するデータをドメインにアップロードするだけで使えます。

f:id:keiwt:20150215145330p:plain

※こちらはCONFIGURE INDEXにおいてUse a predefined configurationを選択した場合です
※アクセス制御では自身のIPからのみアクセスできるようにしておきます ※ドメインは設定完了後に作成ボタンタップ後10分ほどしたらできあがります。

https://docs.aws.amazon.com/ja_jp/cloudsearch/latest/developerguide/what-is-cloudsearch.html