Author: david
Date: Wed Sep  9 12:01:50 2009
New Revision: 3203

Log:
Drop setlocale() from searchAction.class.php.  Switch to 
Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8Num_CaseInsensitive analyzer 
and drop strtolower() function calls from lib/SearchIndex.class.php. Fixes 
issue #893.

Modified:
   trunk/apps/qubit/lib/SearchIndex.class.php
   trunk/apps/qubit/modules/search/actions/searchAction.class.php

Modified: trunk/apps/qubit/lib/SearchIndex.class.php
==============================================================================
--- trunk/apps/qubit/lib/SearchIndex.class.php  Wed Sep  9 07:22:32 2009        
(r3202)
+++ trunk/apps/qubit/lib/SearchIndex.class.php  Wed Sep  9 12:01:50 2009        
(r3203)
@@ -35,7 +35,7 @@
    */
   public static function getIndexAnalyzer()
   {
-    $index_analyzer = new Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8Num;
+    $index_analyzer = new 
Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8Num_CaseInsensitive;
 
     return $index_analyzer;
   }
@@ -103,7 +103,7 @@
   public static function updateTranslatedLanguages($object)
   {
     xfLuceneZendManager::load();
-    Zend_Search_Lucene_Analysis_Analyzer::setDefault(new 
Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8Num());
+    Zend_Search_Lucene_Analysis_Analyzer::setDefault(self::getIndexAnalyzer());
 
     foreach (self::getTranslatedLanguages($object) as $languageCode)
     {
@@ -223,12 +223,12 @@
     // Note: text fields have to be converted to lower-case for use with utf-8 
analyzer
 
     // IDENTIFIER
-    $identifierField = Zend_Search_Lucene_Field::Unstored('identifier', 
strtolower($informationObject->getIdentifier()), $encoding);
+    $identifierField = Zend_Search_Lucene_Field::Unstored('identifier', 
$informationObject->getIdentifier(), $encoding);
     $identifierField->boost = 5;
     $doc->addField($identifierField);
 
     // TITLE
-    $titleField = Zend_Search_Lucene_Field::Unstored('title', 
strtolower($informationObject->getTitle(array('culture' => $language))), 
$encoding);
+    $titleField = Zend_Search_Lucene_Field::Unstored('title', 
$informationObject->getTitle(array('culture' => $language)), $encoding);
     //boost the hit relevance for the title field
     $titleField->boost = 10;
     $doc->addField($titleField);
@@ -244,32 +244,32 @@
     }
 
     // LEVEL OF DESCRIPTION
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('levelofdescription', 
strtolower($informationObject->getLevelOfDescription(array('culture' => 
$language))), $encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('levelofdescription', 
$informationObject->getLevelOfDescription(array('culture' => $language)), 
$encoding));
     //store an unindexed, case-sensitive copy of the scope & content field for 
use in hit display
     
$doc->addField(Zend_Search_Lucene_Field::UnIndexed('display_levelofdescription',
 $informationObject->getLevelOfDescription(array('culture' => $language)), 
$encoding));
 
     // CREATOR
-    $creatorField = Zend_Search_Lucene_Field::Unstored('creator', 
strtolower($informationObject->getCreatorsNameString($language)), $encoding);
+    $creatorField = Zend_Search_Lucene_Field::Unstored('creator', 
$informationObject->getCreatorsNameString($language), $encoding);
     //boost the hit relevance for the creator field
     $creatorField->boost = 8;
     $doc->addField($creatorField);
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('creatorhistory', 
strtolower($informationObject->getCreatorsHistoryString($language)), 
$encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('creatorhistory', 
$informationObject->getCreatorsHistoryString($language), $encoding));
 
     //DATES
     if (count($dates = $informationObject->getDatesString()) > 0)
     {
-      $doc->addField(Zend_Search_Lucene_Field::Text('dates', 
strtolower($dates)));
+      $doc->addField(Zend_Search_Lucene_Field::Text('dates', $dates));
     }
 
     // SCOPE AND CONTENT
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('scopeandcontent', 
strtolower($informationObject->getScopeAndContent(array('culture' => 
$language))), $encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('scopeandcontent', 
$informationObject->getScopeAndContent(array('culture' => $language)), 
$encoding));
 
     // REPOSITORY
     $repository = $informationObject->getRepository(array('inherit' => true));
     if (null !== $repository)
     {
       $doc->addField(Zend_Search_Lucene_Field::Unindexed('repositoryid', 
$repository->getId()), $encoding);
-      $doc->addField(Zend_Search_Lucene_Field::Unstored('repository', 
strtolower($repository->getAuthorizedFormOfName()), $encoding));
+      $doc->addField(Zend_Search_Lucene_Field::Unstored('repository', 
$repository->getAuthorizedFormOfName(), $encoding));
     }
     else
     {
@@ -278,36 +278,36 @@
     }
 
     // I18N FIELDS
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('alternatetitle', 
strtolower($informationObject->getAlternateTitle(array('culture' => 
$language))), $encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('edition', 
strtolower($informationObject->getEdition(array('culture' => $language))), 
$encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('extentandmedium', 
strtolower($informationObject->getExtentAndMedium(array('culture' => 
$language))), $encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('archivalhistory', 
strtolower($informationObject->getArchivalHistory(array('culture' => 
$language))), $encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('acquisition', 
strtolower($informationObject->getAcquisition(array('culture' => $language))), 
$encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('appraisal', 
strtolower($informationObject->getAppraisal(array('culture' => $language))), 
$encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('accruals', 
strtolower($informationObject->getAccruals(array('culture' => $language))), 
$encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('arrangement', 
strtolower($informationObject->getArrangement(array('culture' => $language))), 
$encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('accessconditions', 
strtolower($informationObject->getAccessConditions(array('culture' => 
$language))), $encoding));
-    
$doc->addField(Zend_Search_Lucene_Field::Unstored('reproductionconditions', 
strtolower($informationObject->getReproductionConditions(array('culture' => 
$language))), $encoding));
-    
$doc->addField(Zend_Search_Lucene_Field::Unstored('physicalcharacteristics', 
strtolower($informationObject->getPhysicalCharacteristics(array('culture' => 
$language))), $encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('findingaids', 
strtolower($informationObject->getFindingAids(array('culture' => $language))), 
$encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('locationoforiginals', 
strtolower($informationObject->getLocationOfOriginals(array('culture' => 
$language))), $encoding));
-    $doc->addField(Zend_Search_Lucene_Field::Unstored('locationofcopies', 
strtolower($informationObject->getLocationOfCopies(array('culture' => 
$language))), $encoding));
-    
$doc->addField(Zend_Search_Lucene_Field::Unstored('relatedunitsofdescription', 
strtolower($informationObject->getRelatedUnitsOfDescription(array('culture' => 
$language))), $encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('alternatetitle', 
$informationObject->getAlternateTitle(array('culture' => $language)), 
$encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('edition', 
$informationObject->getEdition(array('culture' => $language)), $encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('extentandmedium', 
$informationObject->getExtentAndMedium(array('culture' => $language)), 
$encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('archivalhistory', 
$informationObject->getArchivalHistory(array('culture' => $language)), 
$encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('acquisition', 
$informationObject->getAcquisition(array('culture' => $language)), $encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('appraisal', 
$informationObject->getAppraisal(array('culture' => $language)), $encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('accruals', 
$informationObject->getAccruals(array('culture' => $language)), $encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('arrangement', 
$informationObject->getArrangement(array('culture' => $language)), $encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('accessconditions', 
$informationObject->getAccessConditions(array('culture' => $language)), 
$encoding));
+    
$doc->addField(Zend_Search_Lucene_Field::Unstored('reproductionconditions', 
$informationObject->getReproductionConditions(array('culture' => $language)), 
$encoding));
+    
$doc->addField(Zend_Search_Lucene_Field::Unstored('physicalcharacteristics', 
$informationObject->getPhysicalCharacteristics(array('culture' => $language)), 
$encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('findingaids', 
$informationObject->getFindingAids(array('culture' => $language)), $encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('locationoforiginals', 
$informationObject->getLocationOfOriginals(array('culture' => $language)), 
$encoding));
+    $doc->addField(Zend_Search_Lucene_Field::Unstored('locationofcopies', 
$informationObject->getLocationOfCopies(array('culture' => $language)), 
$encoding));
+    
$doc->addField(Zend_Search_Lucene_Field::Unstored('relatedunitsofdescription', 
$informationObject->getRelatedUnitsOfDescription(array('culture' => 
$language)), $encoding));
 
     // SUBJECTS
-    $subjectField = Zend_Search_Lucene_Field::Unstored('subject', 
strtolower($informationObject->getSubjectsString($language)), $encoding);
+    $subjectField = Zend_Search_Lucene_Field::Unstored('subject', 
$informationObject->getSubjectsString($language), $encoding);
     //boost the hit relevance for the subject field
     $subjectField->boost = 5;
     $doc->addField($subjectField);
 
     // PLACE
-    $placeField = Zend_Search_Lucene_Field::Unstored('place', 
strtolower($informationObject->getPlacesString($language)), $encoding);
+    $placeField = Zend_Search_Lucene_Field::Unstored('place', 
$informationObject->getPlacesString($language), $encoding);
     //boost the hit relevance for the place field
     $placeField->boost = 3;
     $doc->addField($placeField);
 
     // NAMES
-    $nameField = Zend_Search_Lucene_Field::Unstored('name', 
strtolower($informationObject->getNameAccessPointsString($language)), 
$encoding);
+    $nameField = Zend_Search_Lucene_Field::Unstored('name', 
$informationObject->getNameAccessPointsString($language), $encoding);
     //boost the hit relevance for the place field
     $nameField->boost = 3;
     $doc->addField($nameField);
@@ -324,7 +324,7 @@
       {
         $languageString .= $languages[$languageCode->getValue()].' ';
       }
-      $doc->addField(Zend_Search_Lucene_Field::Unstored('language', 
strtolower($languageString), $encoding));
+      $doc->addField(Zend_Search_Lucene_Field::Unstored('language', 
$languageString, $encoding));
     }
 
     // SCRIPTS
@@ -337,7 +337,7 @@
       {
         $scriptString .= $scripts[$scriptCode->getValue()].' ';
       }
-      $doc->addField(Zend_Search_Lucene_Field::Unstored('script', 
strtolower($scriptString), $encoding));
+      $doc->addField(Zend_Search_Lucene_Field::Unstored('script', 
$scriptString, $encoding));
     }
 
     // NOTES
@@ -348,7 +348,7 @@
       {
         $noteString .= $note.' ';
       }
-      $doc->addField(Zend_Search_Lucene_Field::Unstored('notes', 
strtolower($noteString), $encoding));
+      $doc->addField(Zend_Search_Lucene_Field::Unstored('notes', $noteString, 
$encoding));
     }
 
     // DIGITAL OBJECTS
@@ -356,11 +356,11 @@
     {
       if (isset($digitalObject->mediaType))
       {
-        $doc->addField(Zend_Search_Lucene_Field::Unstored('mediatype', 
strtolower($digitalObject->getMediaType()->__toString()), $encoding));
+        $doc->addField(Zend_Search_Lucene_Field::Unstored('mediatype', 
$digitalObject->getMediaType()->__toString()), $encoding);
       }
 
-      $doc->addField(Zend_Search_Lucene_Field::Unstored('filename', 
strtolower($digitalObject->getName()), $encoding));
-      $doc->addField(Zend_Search_Lucene_Field::Unstored('mimetype', 
strtolower($digitalObject->getMimeType()), $encoding));
+      $doc->addField(Zend_Search_Lucene_Field::Unstored('filename', 
$digitalObject->getName(), $encoding));
+      $doc->addField(Zend_Search_Lucene_Field::Unstored('mimetype', 
$digitalObject->getMimeType(), $encoding));
     }
 
     // exclude control area fields for now, maybe add a seperate index for 
administrative data?

Modified: trunk/apps/qubit/modules/search/actions/searchAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/search/actions/searchAction.class.php      Wed Sep 
 9 07:22:32 2009        (r3202)
+++ trunk/apps/qubit/modules/search/actions/searchAction.class.php      Wed Sep 
 9 12:01:50 2009        (r3203)
@@ -22,7 +22,6 @@
   public function execute($request)
   {
     $culture = $this->getUser()->getCulture();
-    setlocale(LC_CTYPE, $culture.'.utf-8', $culture.'@utf-8');
 
     $this->getResponse()->setTitle('Search for "'.$request->query.'"', true);
 

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.ca/group/qubit-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to