1.0.0 • Published 5 years ago
couch2elastic v1.0.0
couch2elastic
Since Elasticsearch rivers are deprecated this is a simple node process that will follow a couchdb changes feed and updates elasticsearch.
You can also include an optional mapper.
npm install couch2elastic -gUsage
Configuration file
rc is used to set to variables. For example, create a .couch2elastic file with the following
database=http://localhost:5984/idx-edm-v5
elasticsearch=http://elastic-1.com:9200/idx-edm-v5/listingor pass the config file path explicity
couch2elastic --config=path/to/configfileAlternatively, the config file can be in JSON
{
"database": "http://localhost:5984/idx-edm-v5",
"elasticsearch": "http://elastic-1.com:9200/idx-edm-v5/listing"
}You can also destructure some of the urls to help configuration management
couch=http://localhost:5984
database=idx-edm-v5
elasticsearch=http://elastic-1.com:9200
indexName=idx-edm-v5
indexType=listingLoad documents
To load all the documents into elasticsearch, run
couch2elastic loadKeep documents in sync
To keep a sync process going, run
couch2elasticFormat and filter documents
A mapper function can be passed from the config to format documents before being put to ElasticSearch:
database=http://localhost:5984/idx-edm-v5
elasticsearch=http://elastic-1.com:9200/idx-edm-v5/listing
mapper=path/to/my-mapper.jsWhere my-mapper.js could be something like
module.exports = function (doc) {
// apply formatting here
return doc
}If the function returns empty, the document is filtered-out
License
MIT
1.0.0
5 years ago