We have hbase with thousands of colume and sync colume data to elasticsearch periodically, but it is causing mapping explosion. Every field in elasticsearch maybe be searched by user, how do I to refactor? Thanks in advance.
Does every document have every field, or have you put different documents into the same index?
Yes, every document have every field. Almost all fields need to be searched. It is all relevant.
Is it resulting in very large mappings or are your mappings actually exploding due to e.g. dynamically created field names, e.g. dates or numbers?
We use dynamically created field names. Is it possible to use array to solve it?
I do not know what your data looks like so can not tell. Having dynamically generated field names is generally a bad practice though.