Я бы сделал так. Две таблицы:
1. Таблица user_order — хранит userId и orderId (генерируется когда пользователь оформил заказ, orderId есть primary autoincrement id для таблицы orders)
2. Таблица order_item — хранит orderId и itemId
Так же в нём есть delta индекс sphinxsearch.com/docs/2.0.4/delta-updates.html
это когда у вас есть основной(main) индекс + небольшой индекс delta, в котором хранится индекс по признаку, например id>99999. При изменении в бд вы обновляете только delta индекс а поиск осуществляется по индексу main+delta