Я пытаюсь разработать схему для сценария, в котором существует отношение «многие ко многим» между продуктами и поставщиком. Поиск может осуществляться как по продукту, так и по поставщику. Продукт может поставляться многими поставщиками, и у поставщика будет много продуктов. Ниже приводится решение, о котором я думаю, но похоже, что в определениях полей много избыточности, нужно ли мне 2 определения сущностей для поддержки поиска, ориентированного на продукт или поставщика. Не выглядит оптимально.
При поиске поставщика "продукт" может быть определен "multiValue = true" При поиске продукта "поставщик" может быть определен "multiValue = true"
<!-- Field definitions to support supplier search -->
<field name="s_supplier" type="string" indexed="true" stored="true" >
<field name="s_product" type="string" indexed="true" stored="true" multiValue="true">
<!-- Field definition to support product search -->
<field name="p_product" type="string" indexed="true" stored="true" >
<field name="p_supplier" type="string" indexed="true" stored="true" multiValue="true">
определение объекта в обработчике данных:
<entity name="products" ....>
<field name="p_product" column="">
<entity name="suppliers">
<field name="p_supplier">
</entity>
</entity>
<entity name="suppliers" ....>
<field name="s_supplier" column="">
<entity name="products">
<field name="s_product" column="">
</entity>
</entity>