2012-12-13 5 views

risposta

11

È possibile raggruppare due campi utilizzando Pivot Facets disponibile in Solr 4.0.

È possibile eseguire la seguente query sul proprio indice per ottenerlo.

http://localhost:8181/solr/collection1/select?q=*:*&facet=true&facet.pivot=field1,field2 

Quindi, il risultato sarà come:

<lst name="facet_pivot"> 
    <arr name="field1,field2"> 
    <lst> 
     <str name="field">field1</str> 
     <str name="value">A</str> 
     <int name="count">3</int> 
     <arr name="pivot"> 
     <lst> 
      <str name="field">field2</str> 
      <str name="value">B</str> 
      <int name="count">2</int> 
     </lst> 
     <lst> 
      <str name="field">field2</str> 
      <str name="value">C</str> 
      <int name="count">1</int> 
     </lst> 
     </arr> 
    </lst> 
    <lst> 
     <str name="field">field1</str> 
     <str name="value">C</str> 
     <int name="count">3</int> 
     <arr name="pivot"> 
     <lst> 
      <str name="field">field2</str> 
      <str name="value">D</str> 
      <int name="count">2</int> 
     </lst> 
     <lst> 
      <str name="field">field2</str> 
      <str name="value">B</str> 
      <int name="count">1</int> 
     </lst> 
     </arr> 
    </lst> 
    </arr> 
</lst> 
+0

Ciò è genere di quello che sto cercando. Sono sicuro di poter ottenere la mia forma finale prevista con questo risultato. Ma il fatto è che il mio progetto attuale usa ancora prima Solr4 (3.5). Ci sono approcci validi per 3.5? – BruceCui

+1

C'è un altro approccio qui ma non so se risolve il tuo problema. Almeno puoi provarlo. http://loose-bits.com/2011/09/20/pivot-facets-solr.html –