В общем-то подумал, а почему бы не хранить все строки одного прайса в одном ряду таблицы или даже в json-файле типа такого:
[{},{},{},{ '№ п/п': '2301',
'Наименование товара': 'Шоколад НЕСТЛЕ батончик Натс 50 гр',
'Ед Изм': 'шт',
'Цена': '21' },{},{},{}]
Ведь для индексации забирать их той же самой пачкой придется, да и название с ценой все равно будут в индексе. Причем можно хранить рядом предыдущий прайс и при загрузке составлять/обновлять diff-файл для облегчения работы индексатора.
Минус лишь в том, что метаданные так не сохранишь, для них все равно придется завести таблицу. Но таблица с метаданными скорее всего не будет изменяться так часто.