Index: apachesolr.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/apachesolr.module,v
retrieving revision 1.1.2.12.2.155.2.107
diff -u -p -r1.1.2.12.2.155.2.107 apachesolr.module
--- apachesolr.module	1 Sep 2010 15:16:43 -0000	1.1.2.12.2.155.2.107
+++ apachesolr.module	1 Sep 2010 15:40:30 -0000
@@ -1907,11 +1907,19 @@ function apachesolr_cck_fields() {
           'display_callback' => 'apachesolr_cck_text_field_callback',
           'indexing_callback' => 'apachesolr_cck_text_indexing_callback',
           'index_type' => 'string',
+          'facets' => TRUE,
         ),
         'optionwidgets_buttons' => array(
           'display_callback' => 'apachesolr_cck_text_field_callback',
           'indexing_callback' => 'apachesolr_cck_text_indexing_callback',
           'index_type' => 'string',
+          'facets' => TRUE,
+        ),
+        'default' => array(
+          'display_callback' => 'apachesolr_cck_text_field_callback',
+          'indexing_callback' => 'apachesolr_cck_text_indexing_callback',
+          'index_type' => 'text',
+          'facets' => FALSE,
         ),
       );
       $mappings['nodereference'] = array(
@@ -1919,16 +1927,19 @@ function apachesolr_cck_fields() {
           'display_callback' => 'apachesolr_cck_nodereference_field_callback',
           'indexing_callback' => 'apachesolr_cck_nodereference_indexing_callback',
           'index_type' => 'integer',
+          'facets' => TRUE,
         ),
         'nodereference_select' => array(
           'display_callback' => 'apachesolr_cck_nodereference_field_callback',
           'indexing_callback' => 'apachesolr_cck_nodereference_indexing_callback',
           'index_type' => 'integer',
+          'facets' => TRUE,
         ),
         'nodereference_autocomplete' => array(
           'display_callback' => 'apachesolr_cck_nodereference_field_callback',
           'indexing_callback' => 'apachesolr_cck_nodereference_indexing_callback',
           'index_type' => 'integer',
+          'facets' => TRUE,
         ),
       );
       $mappings['userreference'] = array(
@@ -1936,16 +1947,19 @@ function apachesolr_cck_fields() {
           'display_callback' => 'apachesolr_cck_userreference_field_callback',
           'indexing_callback' => 'apachesolr_cck_userreference_indexing_callback',
           'index_type' => 'integer',
+          'facets' => TRUE,
         ),
         'userreference_select' => array(
           'display_callback' => 'apachesolr_cck_userreference_field_callback',
           'indexing_callback' => 'apachesolr_cck_userreference_indexing_callback',
           'index_type' => 'integer',
+          'facets' => TRUE,
         ),
         'userreference_autocomplete' => array(
           'display_callback' => 'apachesolr_cck_userreference_field_callback',
           'indexing_callback' => 'apachesolr_cck_userreference_indexing_callback',
           'index_type' => 'integer',
+          'facets' => TRUE,
         ),
       );
       // Allow other modules to add or alter mappings.
@@ -1956,16 +1970,20 @@ function apachesolr_cck_fields() {
         $field_name = $instance['field_name'];
         $widget_type = $instance['widget']['type'];
         // Only deal with fields that have index mappings and that have not been marked for exclusion.
-        if ((isset($mappings[$field_type][$widget_type]) || isset($mappings['per-field'][$field_name])) && empty($instance['display_settings'][NODE_BUILD_SEARCH_INDEX]['exclude'])) {
+        if ((isset($mappings[$field_type][$widget_type]) ||
+            isset($mappings['per-field'][$field_name])) &&
+            empty($instance['display_settings'][NODE_BUILD_SEARCH_INDEX]['exclude'])) {
           if (isset($mappings['per-field'][$field_name])) {
             $instance['index_type'] = $mappings['per-field'][$field_name]['index_type'];
             $instance['indexing_callback'] = $mappings['per-field'][$field_name]['indexing_callback'];
             $instance['display_callback'] = $mappings['per-field'][$field_name]['display_callback'];
+            $instance['facets'] = $mappings['per-field'][$field_name]['facets'];
           }
           else {
             $instance['index_type'] = $mappings[$field_type][$widget_type]['index_type'];
             $instance['indexing_callback'] = $mappings[$field_type][$widget_type]['indexing_callback'];
             $instance['display_callback'] = $mappings[$field_type][$widget_type]['display_callback'];
+            $instance['facets'] = $mappings[$field_type][$widget_type]['facets'];
           }
           $instance['multiple'] = (bool) $instance['multiple'];
           $instance['name'] = 'cck_' . $field_name;
Index: apachesolr_search.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/apachesolr_search.module,v
retrieving revision 1.1.2.6.2.111.2.86
diff -u -p -r1.1.2.6.2.111.2.86 apachesolr_search.module
--- apachesolr_search.module	1 Sep 2010 15:16:44 -0000	1.1.2.6.2.111.2.86
+++ apachesolr_search.module	1 Sep 2010 15:40:31 -0000
@@ -671,14 +671,20 @@ function apachesolr_search_apachesolr_fa
   $fields = apachesolr_cck_fields();
   if ($fields) {
     foreach ($fields as $name => $field) {
-      // $delta can only be 32 chars, and the CCK field name may be this
-      // long also, so we cannot add anything to it.
-      $facets[$field['field_name']] = array_merge($field, array(
-          'info' => t('CCK @field_type field: Filter by @field (@field_name)', array('@field_type' => $field['field_type'], '@field' => $field['widget']['label'], '@field_name' => $field['field_name'])),
-          'facet_field' => apachesolr_index_key($field),
-          'content_types' => $field['content_types'],
-        )
-      );
+      if ($field['facets']) {
+        // $delta can only be 32 chars, and the CCK field name may be this
+        // long also, so we cannot add anything to it.
+        $facets[$field['field_name']] = array_merge($field, array(
+            'info' => t('CCK @field_type field: Filter by @field (@field_name)', array(
+              '@field_type' => $field['field_type'], 
+              '@field' => $field['widget']['label'], 
+              '@field_name' => $field['field_name']),
+            ),
+            'facet_field' => apachesolr_index_key($field),
+            'content_types' => $field['content_types'],
+          )
+        );
+      }
     }
   }
   return $facets;
Index: contrib/apachesolr_date/apachesolr_date.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/contrib/apachesolr_date/apachesolr_date.module,v
retrieving revision 1.1.2.5
diff -u -p -r1.1.2.5 apachesolr_date.module
--- contrib/apachesolr_date/apachesolr_date.module	2 Jun 2010 21:24:25 -0000	1.1.2.5
+++ contrib/apachesolr_date/apachesolr_date.module	1 Sep 2010 15:40:31 -0000
@@ -132,6 +132,7 @@ function apachesolr_date_apachesolr_cck_
       'index_type' => 'tdate',
       'facet_block_callback' => 'apachesolr_date_date_facet_block',
       'display_callback'     => 'apachesolr_date_display_callback',
+      'facets' => TRUE,
   );
   // NOTE: The structure of this array essentially blocks us from having
   // multiple mappings per CCK field. For that we'd need a structure like
