Design Patterns for ElasticSearch plugin and Couchbase

One of the ideas I am puzzling in my head is how to model a many-to-many relationship where that relationship has additional field data associated with it separate from the two parent entities. So there are two thoughts I have.

  1. Roll the relationship into one of the parents, but which one?
  2. Create a separate entity for the relationship with some extra denormalized data from the parents

Here was an interesting blog post on the matter:

I thought the following quote interesting.

NoSQL data modeling often starts from the application-specific queries as opposed to relational modeling:
Relational modeling is typically driven by the structure of available data. The main design theme is “What answers do I have?”
NoSQL data modeling is typically driven by application-specific access patterns, i.e. the types of queries to be supported. The main design theme is “What questions do I have?”

Any thoughts?