elasticsearch.

elasticsearch. [1] features:

  • uses CURL to submit queries
  • uses JSON to format data (and fields)
  • how about Tokenizers and Filters?
  • it’s elastic and distributed:
    • automatically changes master indices (when one of the nodes goes down)
    • Indices are broken down into shards, each shard with 0 or more replicas
    • Rebalancing and routing are done automatically and behind the scenes.
  • example query:
$ curl -XPUT http://localhost:9200/twitter/tweet/1 -d '{
    "user": "kimchy",
    "post_date": "2009-11-15T13:12:00",
    "message": "Trying out elasticsearch, so far so good?"
}'
  • URL is explained as:
    • “twitter” is the index (think of it as of a database),
    • “tweet” is a type (think of it as of a table),
    • “1” is the entry in identifier

CouchDB

CouchDB [2]

Sphinx

Sphinx [3] is an open-source full-text search engine. It’s a standalone software package that provides searching capabilities to client applications. Sphinx was specially designed to integrate well with SQL databases and scripting languages; there are built-in connectors for MySQL and PostgreSQL, and it’s also possible to index data from any other type of the source through an XML feed. It offers a number of advanced features besides just full-text searching, supports distributed searching, and scales well (up to billions of documents and terabytes of data).

Notes:

  • Uses Map/Reduce model
  • Stores JSON objects, such as:
{
    "Subject": "I like Plankton"
    "Author": "Rusty"
    "PostedDate": "5/23/2006"
    "Tags": ["plankton", "baseball", "decisions"]
    "Body": "I decided today that I don't like baseball. I like plankton."
}
  • f

Solr

Solr [4] is an Open Source enterprise search server based on the Lucene Java search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search, caching, replication, and a web administration interface. It runs in a Java servlet container such as Apache Tomcat.

Pros:

  • enables to use Tokenizers, Filters, etc.

Resources

  1. elasticsearch. Homepage. URL: http://www.elasticsearch.org/
  2. CouchDB Homepage. URL: http://wiki.apache.org/couchdb/FrontPage
  3. Sphinx Homepage. Open Source Search Server URL: http://www.elasticsearch.org/
  4. Solr Homepage. URL: http://lucene.apache.org/solr/
ElasticSearch and other Indexing Tools
Tagged on:

Leave a Reply