It's a Java object. Solr actually replaces it with a different implementation called OpenBitSet: http://lucene.apache.org/solr/api/org/apache/solr/util/OpenBitSet.html , for performance. Solr's use of them in managing facets is discussed in the wiki: http://wiki.apache.org/solr/SimpleFacetParameters , in the description of FacetQueries . Peter -----Original Message----- From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of Alan Darnell Sent: Friday, January 19, 2007 1:03 PM To: [log in to unmask] Subject: Re: [CODE4LIB] Limiting by availability (was Re: [CODE4LIB] Getting data from Voyager into XML?) Peter, What is a bitset? Is it a Java class or a more primitive data structure? Alan On 19-Jan-07, at 2:32 PM, Binkley, Peter wrote: > This is why I think we should figure out smart ways to manage facets > independently of Lucene index fields. Solr populates a facet by > setting up a bitset for every value found in a given index field, and > it uses those bitsets to filter query result sets by deriving an > intersection set. We can extend that functionality by populating and > maintaining bitsets based on external data sources that can map to > Lucene document ids. This allows us to update the bitset (relatively > cheap) without having to update the index (relatively expensive).