Скажите, у меня есть индекс клиентов Lucene. У каждого клиента есть товары, которые он заказал.
Допустим, эти две пары представляют два документа в моем индексе:
Name: John Smith
Product: Chicken Sandwich, Price: $10
Product: Dodge Challenger, Price: $35000
Name: John Q. Public
Product: Chicken Sandwich, Price: $15
Product: Audi TT, Price: $35000
Учитывая, что мой индекс ориентирован на клиента, а не на заказ, мои документы, вероятно, будут выглядеть так:
<add>
<doc>
<field name="Name">John Smith</field>
<field name="Product">Chicken Sandwich</field>
<field name="Price">10</field>
<field name="Product">Dodge Challenger</field>
<field name="Price">35000</field>
</doc>
<doc>
<field name="Name">John Q. Public</field>
...
Что в итоге объединит все цены и продукты в многозначные поля и потеряет их относительные ассоциации.
Как бы я включил это в свой индекс - и как бы я его запросил - чтобы поиск "Каждый клиент, который заплатил более 12 долларов за сэндвич с курицей", вернул бы только John Q. Public?