Index: apachesolr.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/apachesolr.module,v
retrieving revision 1.1.2.18
diff -u -p -r1.1.2.18 apachesolr.module
--- apachesolr.module	19 Jul 2008 14:22:43 -0000	1.1.2.18
+++ apachesolr.module	21 Oct 2008 21:27:09 -0000
@@ -151,7 +151,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);
@@ -185,7 +185,7 @@ class ApacheSolrUpdate {
 
     // Get CCK fields list
     $cck_fields = apachesolr_cck_fields();
-
+    
     $result = self::getNodesToIndex($namespace);
     $count = 0;
     while ($row = db_fetch_object($result)) {
@@ -742,13 +742,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,
           );
         }
       }
