Monday, October 17, 2011

ElasticSearch and CouchDB: Match made in heaven?

  • In ElasticSearch (ES):
    each indexed document is given a version number. This version number can be supplemented with an external value (for example, if maintained in a database). To enable this functionality, version_type should be set to external.
    Sounds nice, primed for CouchDB, right? But:
    The value provided must be a numeric, long value greater than 0, and less than around 9.2e+18.
    The was CouchDB does versioning, it isn't numeric because it appends two numbers to create a sequence/version, for example:
    So how is this handled in case of a CouchDB stream for ES?
  • How does ES facilitate the generation of an "_id" based on the data in the incoming document?
    • Does it allow to take the value of a field of that document? For example, there is a way to perform "_routing" via one of the incoming document's fields for distributed indexing across shards. So what about something for picking out the id?
    • Does it allow to concatenate values of multiple fields of that document?
  • Same question as the one above for CouchDB.
  • TBD


Post a Comment