使用 Solr:5.5.3,Java 7。
我必须获取所有Item:Cap 和 Size_s:XL,带有方面:COLOR_s 和 SIZE_s。这里 Item 是 Parent Doc 的一部分, Size 是 Child doc 的一部分。我曾想过使用 BlockJoin,但我无法理解如何同时查询父母和孩子。
将不胜感激任何帮助和指导。谢谢。
<add>
<doc>
<field name="id">1</field>
<field name="type_s">forSaleItem</field>
<field name="item">Shirt</field>
<doc>
<field name="id">11</field>
<field name="type_s">itemAttrDoc</field>
<field name="COLOR_s">Red</field>
<field name="SIZE_s">XL</field>
<field name="PRICE_i">6</field>
</doc>
<doc>
<field name="type_s">itemAttrDoc</field>
<field name="id">12</field>
<field name="COLOR_s">Red</field>
<field name="SIZE_s">XL</field>
<field name="PRICE_i">7</field>
</doc>
<doc>
<field name="type_s">itemAttrDoc</field>
<field name="id">13</field>
<field name="COLOR_s">Blue</field>
<field name="SIZE_s">L</field>
<field name="PRICE_i">5</field>
</doc>
</doc>
<doc>
<field name="id">2</field>
<field name="type_s">forSaleItem</field>
<field name="item">Cap</field>
<doc>
<field name="type_s">itemAttrDoc</field>
<field name="id">21</field>
<field name="COLOR_s">Blue</field>
<field name="SIZE_s">XL</field>
<field name="PRICE_i">6</field>
</doc>
<doc>
<field name="type_s">itemAttrDoc</field>
<field name="id">22</field>
<field name="COLOR_s">Blue</field>
<field name="SIZE_s">XL</field>
<field name="PRICE_i">7</field>
</doc>
<doc>
<field name="type_s">itemAttrDoc</field>
<field name="id">23</field>
<field name="COLOR_s">Red</field>
<field name="SIZE_s">L</field>
<field name="PRICE_i">5</field>
</doc>
</doc>
<doc>
<field name="id">3</field>
<field name="type_s">NotforSaleItem</field>
<field name="item">trouser</field>
<doc>
<field name="type_s">itemAttrDoc</field>
<field name="id">21</field>
<field name="COLOR_s">Blue</field>
<field name="SIZE_s">XL</field>
<field name="PRICE_i">6</field>
</doc>
<doc>
<field name="type_s">itemAttrDoc</field>
<field name="id">22</field>
<field name="COLOR_s">Blue</field>
<field name="SIZE_s">XL</field>
<field name="PRICE_i">7</field>
</doc>
<doc>
<field name="type_s">itemAttrDoc</field>
<field name="id">23</field>
<field name="COLOR_s">Red</field>
<field name="SIZE_s">L</field>
<field name="PRICE_i">5</field>
</doc>
</doc>
</add>
编辑: type_s 标识文档,所以任何查询也应该包含这个字段。