Merging two indexes by a common field

Assuming you want to store costs/profit the best suggestion would be to fix your data "on the way in" if possible. 1,000 products is not a lot of data to keep in a RAM cache and lookup as you insert transaction data.
Logstash I believe has some "lookup" type features that could help with this (best to ask in that forum).

Advantages to doing it this way rather than a batch fix-later scheme is

  1. costs would be recorded with the values current at point-of-sale
  2. there is no lag between the logging of transactions and costing of transactions.