Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.0.0
-
None
Description
This version does not support document routing to support joins. Currently to be able to do this, I have to use the ElasticSearch API to place the Child Docs into the Index, rather than create Couchbase Documents and push them through the Connector
Attachments
Issue Links
For Gerrit Dashboard: CBES-110 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
105619,2 | CBES-110 Need document routing to support join | master | couchbase-elasticsearch-connector | Status: ABANDONED | 0 | +1 |
105624,3 | CBES-110 Need document routing to support join | master | couchbase-elasticsearch-connector | Status: MERGED | +2 | +1 |
Because the DCP protocol used by the connector does not include document bodies in deletion notifications, it's not easy to know where to route the deletion requests.
See discussion over at https://github.com/couchbase/couchbase-elasticsearch-connector/pull/203 where one of the proposals was to support routing for a document type only when the connector is configured to ignore deletions for that type.
Another caveat is that because each virtual bucket is replicated independently, in general there's no guarantee that two different documents will be indexed in Elasticsearch in the same order they were written to Couchbase (child might be indexed before parent if they are in different vbuckets, for example).
I haven't experimented with parent/join enough to know whether that's likely to be a problem.
@envitraux If you could specify a routing but not delete the routed documents, and the parent and children could be indexed in any order, would that satisfy your use case?