Couchbase transport plugin for Elasticsearch 5.0-alpha2

TL;DR: Get the preview release of the plugin for ES 5.0-alpha2 here. While I was working on updating the Couchbase transport plugin for Elasticsearch 2.x, Elastic went and released an alpha version of 5.0. There are a lot of changes in various APIs, breaks from backwards…

Couchbase Transport Plugin for Elasticsearch 2.x

TL;DR: Get it here: https://github.com/couchbaselabs/elasticsearch-transport-couchbase/releases While the folks at Elasticsearch are busy working on version 5.0, I've now released updated versions of the Couchbase transport plugin for versions 2.x. Elasticsearch 2.0 brought a lot of changes to the security model, then…

Workaround for N1QL * queries in the .NET SDK

TL;DR: SELECT myBucket.* FROM myBucket A change in the way N1QL returns results for star queries in Couchbase Server 4.1 seems to have broken how the .NET SDK deserializes the returned results. It causes the Query<> method to return the correct number of results, but with…

Using Couchbase from Delphi

TL;DR: Expose the Couchbase .NET SDK through COM interop by wrapping it in a simple facade class. I got an unusual request today: a prospective Couchbase customer wants to use the database from a Delphi application. Turns out Delphi is still a thing! Who knew? As it happens, it's…

Validating Couchbase Referential Integrity with N1QL

TL;DR: Join the bucket to itself with an outer left join on the foreign (reference) ID, where the right side of the join is missing. Most NoSQL databases do not have built-in support for referential integrity and Couchbase Server is no exception. The best you can do is check…

Running N1QL as a service with Upstart

TL;DR: Copy this script to /etc/init and run start n1ql from the command line to start N1QL as a service. The 3rd developer preview of N1QL, the new Couchbase query language, has been out for a while now and I've seen several clients developing code for N1QL already…