: The main problem with implementing this is trying to figure out where
: to put the info in a backward compatible manner.  Here is how the info

1) this seems like the kind of thing that would only be returend if 
requested -- so we probably don't have to be overly concerned about 
backwards compatibility. if people are going to request this information, 
they have to make their client code to look for it, so they can also 
make their client code to know how to distinguish it from the existing 
counts.

2) the counts themselves are "first order" faceting data, so i think it 
makes sense to leave them where they are ... "metadata" about the field 
could be included as an sub-list at the start of the field list 
(much like the missing count is included as an unnamed int at the end of 
the field list)  this sub-list could be unnamed to help distinguish it 
from field term values -- but frankly i don't think that's a huge deal -- 
the counts will standa out for being integers, while this metadata would 
be a nested NamedList (aka: map, aka hash, aka however it's represented in 
the format used)

structure could be something like...

...&facet.field=cat&facet.limit=3&facet.mincount=5&facet.missing=true

 <lst name="facet_fields">
  <lst name="cat">
        <lst name="METADATA"> <!-- or maybe "STATS" ? -->
           <int name="totalConstraintsAboveMinCount">42</int>
           <int name="totalConstraints">678</int>
        </lst>
        <int name="music">30</int>
        <int name="connector">20</int>
        <int name="electronics">10</int>
        <int>5</int><!-- existing facet.missing count -->
  </lst>



-Hoss

Reply via email to