? sites/all/modules/apachesolr/contrib/apachesolr_cite
Index: sites/all/modules/apachesolr/apachesolr.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/apachesolr.module,v
retrieving revision 1.1.2.12
diff -u -p -r1.1.2.12 apachesolr.module
--- sites/all/modules/apachesolr/apachesolr.module	20 Apr 2008 14:14:45 -0000	1.1.2.12
+++ sites/all/modules/apachesolr/apachesolr.module	17 Jun 2008 23:09:15 -0000
@@ -134,7 +134,7 @@ class ApacheSolrUpdate {
    */
   static function getNodesToIndex($namespace) {
     register_shutdown_function('apachesolr_shutdown');
-
+    
     $cron_change = self::get_change($namespace);
     $cron_last = self::get_last($namespace);
     $cron_limit = variable_get('search_cron_limit', 100);
@@ -168,7 +168,7 @@ class ApacheSolrUpdate {
 
     // Get CCK fields list
     $cck_fields = apachesolr_cck_fields();
-
+    
     $result = self::getNodesToIndex($namespace);
     $count = 0;
     while ($row = db_fetch_object($result)) {
@@ -671,13 +671,14 @@ function apachesolr_cck_fields() {
 
       while ($row = db_fetch_object($result)) {
         // Only deal with fields that have options widgets (facets don't make sense otherwise), or fields that have specific mappings.
-        if (($row->type == 'text' && in_array($row->widget_type, array('options_select', 'options_buttons'))) || in_array($row->type, array_keys($mappings))) {
+        if (($row->type == 'text' && in_array($row->widget_type, array('options_select', 'options_buttons'))) || in_array($row->field_name, array_keys($mappings))) {
           $_fields[$row->field_name] = array(
             'name' => $row->field_name,
-            'multiple' => $row->multiple ? TRUE : FALSE,
+            'multiple' => ($mappings[$row->field_name]['multiple'])? TRUE : $row->multiple ? TRUE : FALSE,
             'field_type' => $row->type,
-            'index_type' => empty($mappings) ? 'string' : $mappings[$row->type]['index_type'],
-            'callback' => empty($mappings[$row->type]['callback']) ? NULL : $mappings[$row->type]['callback'],
+            'index_type' => empty($mappings) ? 'string' : $mappings[$row->field_name]['index_type'],
+            'callback' => empty($mappings[$row->field_name]['callback']) ? NULL : $mappings[$row->field_name]['callback'],
+            'facet' => (isset($mappings[$row->field_name]['facet']))? $mappings[$row->field_name]['facet'] : TRUE,
           );
         }
       }
Index: sites/all/modules/apachesolr/apachesolr_search.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/apachesolr_search.module,v
retrieving revision 1.1.2.6
diff -u -p -r1.1.2.6 apachesolr_search.module
--- sites/all/modules/apachesolr/apachesolr_search.module	20 Apr 2008 14:14:45 -0000	1.1.2.6
+++ sites/all/modules/apachesolr/apachesolr_search.module	17 Jun 2008 23:09:15 -0000
@@ -47,7 +47,9 @@ function apachesolr_search_search($op = 
         if ($fields = apachesolr_cck_fields()) {
           foreach ($fields as $name => $field) {
             $index_key = apachesolr_index_key($field);
-            $params['facet.field'][] = $index_key;
+            if($field['facet'] == TRUE) {            
+              $params['facet.field'][] = $index_key;
+            }
           }
         }
         $params['start'] = $_GET['page'] * $params['rows'];
