I am looking to have users enter their interests, which may or may not already be in the system, and store them in a schemaless database (GAE storage to be specific) in such a way that I can easily discover users with similar interests.
A similar example of what I am trying to do is LinkedIn's skills form.
I am familiar with how this would be done in a SQL datastore but am trying to expand my knowledge of schemaless datastores. Any help would be much appreciated.
When a user enters a new interest, you check if an entity with this interest already exists. If yes, you add an id of this entity to the user's list of interests. If no, you first save a new entity for this interest, and then use the id of this entity.
For example, in Java, using a low-level Datastore API, you would do:
Note that the property "interests" is indexed, so you can run a query to find all users with a specific interest.