? SolrPhpClient
Index: apachesolr.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/apachesolr.module,v
retrieving revision 1.1.2.12.2.155.2.108
diff -u -p -r1.1.2.12.2.155.2.108 apachesolr.module
--- apachesolr.module	1 Sep 2010 16:31:08 -0000	1.1.2.12.2.155.2.108
+++ apachesolr.module	3 Sep 2010 18:18:25 -0000
@@ -1907,11 +1907,13 @@ 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,
         ),
       );
       $mappings['nodereference'] = array(
@@ -1919,16 +1921,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 +1941,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.
@@ -1955,17 +1963,24 @@ function apachesolr_cck_fields() {
         $field_type = $instance['type'];
         $field_name = $instance['field_name'];
         $widget_type = $instance['widget']['type'];
+        if (!isset($mappings[$field_type][$widget_type]) && !isset($mappings['per_field'][$field_name]) && isset($mappings[$field_type]['default'])) {
+          $widget_type = 'default';
+        }
         // 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	3 Sep 2010 18:18:25 -0000
@@ -671,14 +671,16 @@ 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'])),
+      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.
+        $placeholders = array('@field_type' => $field['field_type'], '@field' => $field['widget']['label'], '@field_name' => $field['field_name']);
+        $facets[$field['field_name']] = array_merge($field, array(
+          'info' => t('CCK @field_type field: Filter by @field (@field_name)', $placeholders),
           'facet_field' => apachesolr_index_key($field),
           'content_types' => $field['content_types'],
-        )
-      );
+        ));
+      }
     }
   }
   return $facets;
