We're evaluating the use runtime fields vs indexed fields (keyword).
We have an object field (let's call it X) under which we can have arbitrary amount of fields. Unfortunately we cannot control the sending party, so we just need to ingest all data we get.
Currently we define a dynamic mapping rule that indexes any new field value under X as keyword.
We're reaching a very high amount of fields in the index so getting closer to field explosion problem.
We're thinking to change the data model so that any new field under X would become a runtime field. So using the "dynamic":"runtime" setting .
This way we could avoid the field explosion with the cost of query performance.
Would anyone know the magnitude of performance drop on keyword queries when we use runtime field vs and indexed keyword field ?
Usually users search all fields at once not doing targeted field queries.
Our indices are having many terabytes of data and document count is over 500Million and growing.
Thanks in advance,