title: NoSQL: indexing and keyword-based searching
body: <p>I have an application that stores items (e.g. web documents). Each item can feature a arbitrary large set of tags. And typical a common query is to retrieve all documents with given set of tags. Well, a pretty common Web application. </p>
  
  <p>Now I'm thinking about a NoSQL database as persistent storage. Various NoSQL systems (e.g. MongoDB) support secondary indexes and with that keyword-based searches. Examples showing how to do it in different systems are easy to find. The problem is, I would like to know what's going on "under the hood", i.e. how/where the secondary indexes stored, and how a query with a list of tags is actually executed. Particularly in systems with many nodes.</p>
  
  <p>I'm aware of solutions based on Map/Reduce or similar. But here I'm interested how the indexing works. Questions I have, for example, are:</p>
  
  <ul>
  <li>Does the secondary index only store the item/object id or more?</li>
  <li>If a query contains k tags, are k subqueries - one for each tag - executed and the k partial results are combined one the initiating node?</li>
  </ul>
  
  <p>Where can I find such information for different NoSQL systems? Thanks a lot for any hints.</p>
  
  <p>Christian</p>