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	8 Feb 2009 23:53:42 -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
@@ -204,7 +204,7 @@
              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 +246,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 +266,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"/>
 
@@ -317,6 +319,14 @@
    <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"/>
+    <!-- Sortable versions of the dynamic string and text fields -->
+   <dynamicField name="sort_ssfield*" type="sortString" indexed="true" stored="false"/>
+   <dynamicField name="sort_tsfield*" type="sortString" indexed="true" stored="false"/>
+   <copyField source="ssfield*" dest="sort_ssfield*"/>
+   <copyField source="tsfield*" dest="sort_tsfield*"/>
+   <!-- 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	8 Feb 2009 23:53:42 -0000
@@ -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'),
             );
 
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	8 Feb 2009 23:53:42 -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"/>';
 }
 
 /**
