Showing posts with label Elastic Search. Show all posts
Showing posts with label Elastic Search. Show all posts

Sunday, May 29, 2011

Elastic Search - an interesting search solution

ElasticSearch is a open source RESTful Search Server, built on top of Lucene Library.
It boasts of following features



  • JSON over HTTP

  • Free Search Schema

  • Near Realtime search

  • Easy Distributed Index and Search

  • Multi-Tenancy

  • Ready for Cloud - very easy for setting it up in Amazon Cloud

  • JAVA API Support

  • Support for Facets

  • It uses Write Behind Queue to store Index updates. It makes use of TransactionLogs to keep track of Index updates.

  • Reads can be done on Shard Replicas.

However, it does not support XML.


On the surface, it appears that this product is ready for Web 2.0 world and is ideal for cloud deployment.


Its feature set is not as rich as Apache Solr but it does have decent support for Facets which is hot nowadays. It has very good Data Visualization support which makes it ideal for Monitoring Tools.


How does it compare with Solr?



  • Solr is richer in feature set, w.r.t analyzers and facets.

  • Solr's distributed setup is not ideal and looks awkward. ElasticSearch's design seems to be robust.

  • Solr has been there for much longer and has matured community behind it.

  • ElasticSearch is so far only one committer's work.

  • ElasticSearch scores over Solr in terms of Cloud Readyness.

  • XML support is misisng in ElasticSearch which is not a big deal as JSON is standard for Web 2.0 world.

You can get more info from these slides.

When do you use ES?


  • Big Index or Realtime Search is needed

  • or, there are many indexes

  • or, have a multi-tenancy requirement ( Solr core is okay)

When you should not use ES?



  • If team is comfortable with Solr then stick to it

  • justifying ES in a large corp would be difficult

More info can be obtained from here.






Logstash: A Free/Open Source alternative to Splunk

Today I came across a wonderful presentation on logstash, a open source log archiver and analyzer which makes use of ElasticSearch to index and search log data.

What makes it interesting is, it has very good support for collecting events from different sources such as log files, sys logs, sockets as well as MQ. It will let you apply different filters and stores its index in ElasticSearch.

Use of elasticsearch is interesting as it uses JSON to index/read data and provides an easy way to search and visualize log data. ElasticSeach can scale better than Solr and is ready for Cloud

This is a compelling package and offers a credible alternative to Splunk.

logstash project url is this.