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
-~----------~----~----~----~------~----~------~--~---