Strategies for Indexing Custom Fields in RavenDB

Posted by Adrian Thompson Phillips on Programmers See other posts from Programmers or by Adrian Thompson Phillips
Published on 2013-11-11T10:25:26Z Indexed on 2013/11/11 16:15 UTC
Read the original article Hit count: 303

Filed under:
|

In the relational database world, if I was developing a CRM system and wanted to have the user add their own custom fields that are searchable, I could have tables that store the name of the new column, the data type and the value, etc. (which would be less inefficient to index) or I could use the less elegant (but more searchable) solution that software like Dynamics and SharePoint use, whereas I create a load of columns on my aggregate root called CustomInt1, CustomInt2, etc. (which looks dirty and has a limit of how many custom fields a user can have, but has indexing advantages).

But my questions is this, in NoSQL databases, what would be the best way of achieving the same thing? My priority would be for searchability. So what would be the best way to store this data? If I used a predefined set of properties (i.e. CustomData1, CustomData2, etc.), because these are all stored as JSON (i.e. strings) in the database, does this make it simpler because I don't have to worry about data types?

© Programmers or respective owner

Related posts about nosql

Related posts about ravendb