1

Solr:5.5.3、Java 7 を使用。

すべてのItem:Cap と Size_s:XL をフェッチする必要があります。ファセットは COLOR_s と SIZE_sです。ここで、Item は親ドキュメントの一部であり、Size は子ドキュメントの一部です。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 はドキュメントを識別するため、クエリにもこのフィールドを含める必要があります。

4

1 に答える 1