Index: schema.xml
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/schema.xml,v
retrieving revision 1.1.2.1.2.20
diff -u -p -r1.1.2.1.2.20 schema.xml
--- schema.xml	14 Jan 2009 21:41:28 -0000	1.1.2.1.2.20
+++ schema.xml	9 Feb 2009 13:15:49 -0000
@@ -180,7 +180,7 @@
          With various TokenFilterFactories to produce a sortable field
          that does not include some properties of the source text
       -->
-    <fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
+    <fieldType name="sortString" class="solr.TextField" sortMissingLast="true" omitNorms="true">
       <analyzer>
         <!-- KeywordTokenizer does no actual tokenizing, so the entire
              input string is preserved as a single token
@@ -202,10 +202,11 @@
              infomation on pattern and replacement string syntax.
 
              http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/package-summary.html
-          -->
+
         <filter class="solr.PatternReplaceFilterFactory"
-                pattern="([^a-z])" replacement="" replace="all"
+                pattern="(^\p{Punct}+)" replacement="" replace="all"
         />
+        -->
       </analyzer>
     </fieldType>
 
@@ -246,14 +247,15 @@
    <field name="hash" type="string" indexed="true" stored="true"/>
    <field name="url" type="string" indexed="true" stored="true"/>
    <field name="title" type="text" indexed="true" stored="true" termVectors="true" omitNorms="true"/>
-   <field name="stitle" type="string" indexed="true" stored="true"/>
+   <field name="title_sort" type="sortString" indexed="true" stored="false"/>
    <field name="body" type="text" indexed="true" stored="true" termVectors="true"/>
    <field name="type" type="string" indexed="true" stored="true"/>
    <field name="type_name" type="string" indexed="true" stored="true"/>
    <field name="path" type="text" indexed="true" stored="true" termVectors="true"/>
    <field name="uid"  type="integer" indexed="true" stored="true"/>
    <field name="name" type="text" indexed="true" stored="true" termVectors="true"/>
-   <field name="sname" type="string" indexed="true" stored="true"/>
+   <field name="sname" type="string" indexed="true" stored="false"/>
+   <field name="name_sort" type="sortString" indexed="true" stored="false"/>
    <field name="created" type="date" indexed="true" stored="true"/>
    <field name="changed" type="date" indexed="true" stored="true"/>
    <field name="last_comment_or_change" type="date" indexed="true" stored="true"/>
@@ -265,9 +267,10 @@
    <field name="taxonomy_names" type="text" indexed="true" stored="false" termVectors="true" multiValued="true" omitNorms="true"/>
    <field name="language" type="string" indexed="true" stored="true"/>
    <!-- The string version of the title is used for sorting -->
-   <copyField source="title" dest="stitle"/>
-   <!-- The string version of the name is used for sorting/multi-site facets -->
+   <copyField source="title" dest="title_sort"/>
+   <!-- The string versions of the name used for sorting/multi-site facets -->
    <copyField source="name" dest="sname"/>
+   <copyField source="name" dest="name_sort"/>
    <!-- Copy terms to a single field that contains all taxonomy term names -->
    <copyField source="tsfield_vid_*" dest="taxonomy_names"/>
 
@@ -301,22 +304,28 @@
         Longer patterns will be matched first.  if equal size patterns
         both match, the first appearing in the schema will be used.  -->
 
-   <dynamicField name="isfield*"  type="integer" indexed="true"  stored="true" multiValued="false"/>
-   <dynamicField name="imfield*"  type="integer" indexed="true"  stored="true" multiValued="true"/>
-   <dynamicField name="sisfield*" type="sint"    indexed="true"  stored="true" multiValued="false"/>
-   <dynamicField name="simfield*" type="sint"    indexed="true"  stored="true" multiValued="true"/>
-   <dynamicField name="smfield*"  type="string"    indexed="true"  stored="true" multiValued="true"/>
-   <dynamicField name="tmfield*"  type="text"    indexed="true"  stored="true" multiValued="true" termVectors="true"/>
-   <dynamicField name="ssfield*"  type="string"    indexed="true"  stored="true" multiValued="false"/>
-   <dynamicField name="tsfield*"  type="text"    indexed="true"  stored="true" multiValued="false" termVectors="true"/>
-   <dynamicField name="dsfield*" type="date"    indexed="true"  stored="true" multiValued="false"/>
-   <dynamicField name="dmfield*" type="date"    indexed="true"  stored="true" multiValued="true"/>
-   <dynamicField name="bmfield*"  type="boolean" indexed="true"  stored="true" multiValued="true"/>
-   <dynamicField name="bsfield*"  type="boolean" indexed="true"  stored="true" multiValued="false"/>
-   <dynamicField name="fsfield*"  type="sfloat"  indexed="true"  stored="true" multiValued="false"/>
-   <dynamicField name="fmfield*"  type="sfloat"  indexed="true"  stored="true" multiValued="true"/>
-   <dynamicField name="psfield*"  type="sdouble" indexed="true"  stored="true" multiValued="false"/>
-   <dynamicField name="pmfield*"  type="sdouble" indexed="true"  stored="true" multiValued="true"/>
+   <dynamicField name="is_*"  type="integer" indexed="true"  stored="true" multiValued="false"/>
+   <dynamicField name="im_*"  type="integer" indexed="true"  stored="true" multiValued="true"/>
+   <dynamicField name="sis_*" type="sint"    indexed="true"  stored="true" multiValued="false"/>
+   <dynamicField name="sim_*" type="sint"    indexed="true"  stored="true" multiValued="true"/>
+   <dynamicField name="sm_*"  type="string"    indexed="true"  stored="true" multiValued="true"/>
+   <dynamicField name="tm_*"  type="text"    indexed="true"  stored="true" multiValued="true" termVectors="true"/>
+   <dynamicField name="ss_*"  type="string"    indexed="true"  stored="true" multiValued="false"/>
+   <dynamicField name="ts_*"  type="text"    indexed="true"  stored="true" multiValued="false" termVectors="true"/>
+   <dynamicField name="ds_*" type="date"    indexed="true"  stored="true" multiValued="false"/>
+   <dynamicField name="dm_*" type="date"    indexed="true"  stored="true" multiValued="true"/>
+   <dynamicField name="bm_*"  type="boolean" indexed="true"  stored="true" multiValued="true"/>
+   <dynamicField name="bs_*"  type="boolean" indexed="true"  stored="true" multiValued="false"/>
+   <dynamicField name="fs_*"  type="sfloat"  indexed="true"  stored="true" multiValued="false"/>
+   <dynamicField name="fm_*"  type="sfloat"  indexed="true"  stored="true" multiValued="true"/>
+   <dynamicField name="ps_*"  type="sdouble" indexed="true"  stored="true" multiValued="false"/>
+   <dynamicField name="pm_*"  type="sdouble" indexed="true"  stored="true" multiValued="true"/>
+    <!-- Sortable version of the dynamic string fields -->
+   <dynamicField name="sort_ss_*" type="sortString" indexed="true" stored="false"/>
+   <copyField source="ss_*" dest="sort_ss_*"/>
+   <!-- String fields that are not indexed - useful for storing meta-data, file paths, etc -->
+   <dynamicField name="smdata_*"  type="string"    indexed="false"  stored="true" multiValued="true"/>
+   <dynamicField name="ssdata_*"  type="string"    indexed="false"  stored="true" multiValued="false"/>
    <!-- This field is used to store node access records, as opposed to CCK field data -->
    <dynamicField name="nodeaccess*" type="integer" indexed="true" stored="false" multiValued="true"/>
 
Index: apachesolr.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/apachesolr.module,v
retrieving revision 1.1.2.12.2.105
diff -u -p -r1.1.2.12.2.105 apachesolr.module
--- apachesolr.module	8 Feb 2009 15:05:28 -0000	1.1.2.12.2.105
+++ apachesolr.module	9 Feb 2009 13:15:49 -0000
@@ -438,13 +438,13 @@ function apachesolr_add_taxonomy_to_docu
       $ancestors = taxonomy_get_parents_all($term->tid);
       foreach ($ancestors as $ancestor) {
         $document->setMultiValue('tid', $ancestor->tid);
-        $document->setMultiValue('imfield_vid_'. $ancestor->vid, $ancestor->tid);
+        $document->setMultiValue('im_vid_'. $ancestor->vid, $ancestor->tid);
         $name = apachesolr_clean_text($ancestor->name);
         $document->setMultiValue('vid', $ancestor->vid);
-        $document->{'tsfield_vid_'. $ancestor->vid .'_names'} .= ' '. $name;
+        $document->{'ts_vid_'. $ancestor->vid .'_names'} .= ' '. $name;
         // We index each name as a string for cross-site faceting
         // using the vocab name rather than vid in field construction .
-        $document->setMultiValue('smfield_vid_'. apachesolr_vocab_name($ancestor->vid), $name);
+        $document->setMultiValue('sm_vid_'. apachesolr_vocab_name($ancestor->vid), $name);
       }
     }
   }
@@ -599,9 +599,9 @@ function apachesolr_block($op = 'list', 
           case 'sort':
             $sorts = array(
               'relevancy' => array('name' => t('Relevancy'), 'default' => 'asc'),
-              'stitle' => array('name' => t('Title'), 'default' => 'asc'),
+              'title_sort' => array('name' => t('Title'), 'default' => 'asc'),
               'type' => array('name' => t('Type'), 'default' => 'asc'),
-              'name' => array('name' => t('Author'), 'default' => 'asc'),
+              'name_sort' => array('name' => t('Author'), 'default' => 'asc'),
               'created' => array('name' => t('Date'), 'default' => 'desc'),
             );
 
@@ -908,7 +908,7 @@ function apachesolr_index_key($field) {
     default:
       $type_prefix = 's';
   }
-  $sm = $field['multiple'] ? 'mfield_' : 'sfield_';
+  $sm = $field['multiple'] ? 'm_' : 's_';
   return $type_prefix . $sm . $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.67
diff -u -p -r1.1.2.6.2.67 apachesolr_search.module
--- apachesolr_search.module	6 Feb 2009 03:55:10 -0000	1.1.2.6.2.67
+++ apachesolr_search.module	9 Feb 2009 13:15:49 -0000
@@ -290,7 +290,7 @@ function apachesolr_search_apachesolr_fa
     $vocabs = taxonomy_get_vocabularies();
     foreach ($vocabs as $vid => $vocab) {
       // In this case the delta and facet field are the same.
-      $delta = 'imfield_vid_' . $vid;
+      $delta = 'im_vid_' . $vid;
       $facets[$delta] = array(
         'info' => t('Apache Solr Search: Filter by @name', array('@name' => $vocab->name)),
         'facet_field' => $delta,
@@ -352,7 +352,7 @@ function apachesolr_search_block($op = '
         $limit_default = variable_get('apachesolr_facet_query_initial_limit_default', 10);
 
         // Handle taxonomy vocabulary facets
-        if ((strpos($delta, 'imfield_vid_') === 0) && module_exists('taxonomy')) {
+        if ((strpos($delta, 'im_vid_') === 0) && module_exists('taxonomy')) {
 
           if (is_object($response->facet_counts->facet_fields->$delta)) {
             $contains_active = FALSE;
Index: contrib/apachesolr_image/apachesolr_image.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/apachesolr/contrib/apachesolr_image/apachesolr_image.module,v
retrieving revision 1.1.2.1.2.3
diff -u -p -r1.1.2.1.2.3 apachesolr_image.module
--- contrib/apachesolr_image/apachesolr_image.module	27 Jan 2009 21:32:35 -0000	1.1.2.1.2.3
+++ contrib/apachesolr_image/apachesolr_image.module	9 Feb 2009 13:15:49 -0000
@@ -19,9 +19,9 @@ function apachesolr_image_apachesolr_upd
       break;
     }
     if ($image_path) {
-      $document->ssfield_image_relative = $image_path;
+      $document->ssdata_image_relative = $image_path;
       // TODO - support multi-site too.
-      // $document->ssfield_image_absolute = file_create_url($image_path);
+      // $document->ssdata_image_absolute = file_create_url($image_path);
     }
   }
 }
@@ -31,7 +31,7 @@ function apachesolr_image_apachesolr_upd
  */
 function apachesolr_image_apachesolr_modify_query(&$query, &$params) {
   // Also retrieve image thumbnail links.
-  $params['fl'] .= ',ssfield_image_relative';
+  $params['fl'] .= ',ssdata_image_relative';
 }
 
 /**
@@ -39,14 +39,14 @@ function apachesolr_image_apachesolr_mod
  */
 function apachesolr_image_apachesolr_process_results(&$results) {
   foreach ($results as $index => $item) {
-    if ($item['node']->type == 'image' && !empty($item['node']->ssfield_image_relative)) {
+    if ($item['node']->type == 'image' && !empty($item['node']->ssdata_image_relative)) {
       $results[$index]['snippet'] = theme('apachesolr_image_snippet', $item);
     }
   }
 }
 
 function theme_apachesolr_image_snippet($item){
- return '<span class="apachesolr-image-result">'. theme('image', $item['node']->ssfield_image_relative, $item['title'], $item['title'], array('align' => 'left')) .'</span>'. $item['snippet'] . '<br clear="all"/>';
+ return '<span class="apachesolr-image-result">'. theme('image', $item['node']->ssdata_image_relative, $item['title'], $item['title'], array('align' => 'left')) .'</span>'. $item['snippet'] . '<br clear="all"/>';
 }
 
 /**
