I'm pleased to announce the general availability of Couchbase Transport Plugin for Elasticsearch version 2.1, usually called the Elasticsearch Plugin for short.
The Elasticsearch Plugin 2.1 provides new functionality, fixes some bugs, and expands compatibility to several additional Elasticsearch releases, including Elasticsearch 1.5.2, 1.6, and the latest version, 1.7.x. This release of the Elasticsearch Plugin is compatible with our previous Couchbase Server releases 2.5 to 3.1. We're working on establishing compatibility with our own latest major release, Couchbase Server 4.0, and we expect to have that done and verified soon. If you're the adventuresome type and you can't wait to try the Elasticsearch Plugin 2.1 with Couchbase Server 4.0 in your development environment, please read MB-16244 before you start. For a full listing of Elasticsearch plugin versions and their product compatibilities, please consult the Github project page.
New features in this release:
Filter documents coming in from Couchbase that you do not want to index
Keeping the Elasticsearch index small can result in better performance, and this release now provides a new filter capability to help you do this. Now you can create a filter in the Elasticsearch Plugin that applies a regular expression to the document keys. This filter can use either a blacklist approach (exclude all documents with keys that match a particular regular expression) or a whitelist approach (include only documents whose keys match a particular regular expression). Note that all documents are still shipped to the Elasticsearch node by Couchbase, but the regular expression you create lets you prevent unwanted documents from getting into the index.
Ignore deletes from XDCR in Elasticsearch
Some users want to keep documents searchable in Elasticsearch even after they have been deleted from Couchbase. This might apply, for example, when a customer is using Couchbase as a cache or the first of a number of persistence layers. In order to support this use case, a new feature was added that allows Elasticsearch to ignore deletes from XDCR. For example, let's say you use a document TTL of 1 day in Couchbase. Document A gets replicated to Elasticsearch, and then gets deleted from Couchbase when 24 hours passes. By default, that delete mutation will be replicated to Elasticsearch, which will then delete the document from the index. But some customers don't care if the original document is deleted from Couchbase – they still want to be able to search for it in Elasticsearch. By setting telling Couchbase to ignore deletes from XDCR, no delete message will be sent to Elasticsearch. Be aware that if you do this, all the delete messages from Couchbase will be ignored, not just the ones related to TTL.
Download the plug-in:
Step-by-step instructions for installing: