I just realised your last example complicates matters further.
Each customer can have more than one order so the ID you are joining on is not unique - my example code assumed unique IDs.
The problem you have is denormalization - copying static reference data onto new order events.
We have work underway to support this in elasticsearch but it is not here yet.
For now you'll need to write code that uses the search and indexing apis to do this fusion in your client or use an ETL tool. Logstash is a form of ETL tool and has a lookup function I suggest you take any related questions to the logstash forum.