Using the CouchDB river, it is possible to index CouchDB databases.
Is it also possible to index a CouchDB view with Elastic Search?
Not yet. See https://github.com/elasticsearch/elasticsearch-river-couchdb/pull/2
BTW you can checkout my pull request, build it and start to query views...
Related
By default Elasticsearch seems to query its own database in the indexes defined during the search.
Is it possible that Elasticsearch is not querying its database but mine in PostgresSql?
No.
Elasticsearch is a database on its own rights, it's not an interface/middleman for other backends.
If you want to conditionally query different databases, you need to implement that logic at application level.
There is an app that has elastic search via Algolia (elastic search) and algolia features RESTFul API to do operations on the data (add / remove doc etc).
There is also core persistence via PouchDB=CouchDB constant replication.
I want to make sure everytime a new document appears in CouchDB - it gets "replicated"/added to the algolia search.
Provided Algolia has restful API - am I correct that it would be relatively easy to setup filtered replication (more like copying) over to Algolia?
If not - what are the challenges?
It's really simple to replicate a couchdb database, by watching to changes in the _changes endpoint in some long-running script. Then you call saveObjects with the Algolia API client.
see also what we did to replicate the npm couchdb database into Algolia here: https://github.com/algolia/npm-search
What would be the best way to migrate Solr cores to elastic search indices ?
The solr-river-plugin (https://github.com/javanna/elasticsearch-river-solr) is deprecated.
There's a nice adhoc Python tool made with love by the nice folks at OpenSource Connections that you can use to do this:
https://github.com/o19s/solr-to-es
Simply
./solr-to-es solr_url elasticsearch_url elasticsearch_index doc_type
For instance, the command below will page through all documents on the local Solr node, named node, and submit them to the local Elasticsearch server in the index my_index with a document type of my_type.
./solr-to-es.py localhost:8983/solr/node localhost:9200 my_index my_type
I am making an application using Ionic framework We are using Couchdb and pouchdb but when we do couchdb to pouchdb sync All the documents in Couchdb are replicating to every pouchdb user I am stucked please help me
You need to create a filtered function to replicate only documents you need.
Here the documentation from pouchdb: http://pouchdb.com/2015/04/05/filtered-replication.html
Usually for this case I create one database per user in couchdb and I replicate pouchdb only with the couchdb user database. So you don't have to deal with filtered function on pouchDB.
You will use filtered function to replicate couchdb user database to a master couchdb database.
Here the documentation for couchDB replication with filtering function: https://wiki.apache.org/couchdb/Replication#Filtered_Replication
I think your question is answered in that thread:
here
Good luck
I'm trying to use a CouchDB design filter with my ElasticSearch CouchDB river.
It seems when we set a filter, the url used by ElasticSearch is:
http://couchdb.com/_changes?feed=continuous&include_docs=true&heartbeat=10000&filter=stample/users
The matter is when i try to find my documents on ElasticSearch, i can't find anything.
After going to the CouchDB change stream url, i noticed that the full document is not sent to ElasticSearch.
When i remove the filter:
http://couchdb.com/_changes?feed=continuous&include_docs=true&heartbeat=10000
Then the whole document is sent and i can find it in ElasticSearch.
So is it possible to use a CouchDB design filter and in the same time receive the whole document so that ElasticSearch can index it? Is it a CouchDB or ElasticSearch bug?
Thanks
Actually my CouchDB filter was a deprecated one which only returned me deleted documents.