Examples:
-
For the search time solution, imagine you have 3 facets: People, Organization, and Role.
If you want to be able to switch dimensions from Organization / Role to
Role / People or Role / Organization , preparing all
possible permutations would lead to important storage and complex field creation. In this
case, it is simpler to choose how you want to present values at run time.
-
If you have multiple metas, for example type, subtype, model and always use them in the
same order, it might be interesting to merge these metas in a single one called
type/subtype/model. It is still possible to point on a specific level of the tree, for
example, if you want to get model values only. This solution is faster in terms of query
latency, but you cannot change the order.
To make it simple:
-
Choose the Search/Run time solution when you want flexibility, that is to say, avoid
reindexing documents if you need to change the way dimensions have to be presented. This
solution can yet lead to longer query latency compared to the indexing time solution when
the amount of data is important.
-
Choose the indexing time solution when the amount of data to process is important and you
need to have low query latency.
|