Mark
Mark

Reputation: 2135

How to index CouchDB with Elastic Search River: In plain english

I really don't know what's going on with my configuration, but I'm just not able to query anything after indexing (don't even know if I'm doing the indexing part correctly). Could someone please tell me what each of the following means and should be?

I have a CouchDB database called bestdb. Inside this database I have document types like product and customer.

Now I installed elastic search version 0.18.7 and the corresponding couchdb river. I started elastic search and couchdb. I set the network.host of elasticsearch to be an ip address: 10.0.0.129 . I followed the instructions in the tutorial :

curl -XPUT '10.0.0.129:9200/_river/{A}/_meta' -d '{
    "type" : "couchdb",
    "couchdb" : {
        "host" : "localhost",
        "port" : 5984,
        "db" : "bestdb",
        "filter": null
    },
    "index" : {
        "index" : "{B}",
        "type" : "{C}",
        "bulk_size" : "100",
        "bulk_timeout" : "10ms"
    }
}'

{A}: What's this? My understanding is that this is just an internal elastic search index right? It's not being used for querying or searching right? So this could be any name right?

{B}: What's this index? How is this different from the one above? What should the value of this be in my scenario?

{C}: Is this related to the Document Type in couchdb, like product or customer ?

The online tutorial just sets everything to be the same value. How would my curl statement look like if I wanted to query all product documents or customer documents?

Thank you to whoever that clears things up a bit for me.

Regards, Mark Huang

Upvotes: 4

Views: 1733

Answers (1)

drewr
drewr

Reputation: 1796

kimchy's documentation often leaves a little bit to the imagination. :-)

A is the river name. A river is just an ES document, stored in an index named _river, a type named whatever you want, and a doc id _meta.

B & C is the local index/_type that your bestdb couchdb _changes stream will get indexed into. These can be overridden by _index and _type fields in your couchdb documents. If none of the above is supplied, they'll default to your couchdb instance name bestdb/bestdb.

Upvotes: 1

Related Questions