Author: pb
Date: Fri Nov 14 14:32:21 2008
New Revision: 3309
Log:
- corrected bugs in indexing for mulivalued fields
Modified:
ezfind/ezp4/trunk/extension/ezfind/classes/ezfsolrdocumentfieldbase.php
ezfind/ezp4/trunk/extension/ezfind/search/plugins/ezsolr/ezsolr.php
Modified: ezfind/ezp4/trunk/extension/ezfind/classes/ezfsolrdocumentfieldbase.php
==============================================================================
--- ezfind/ezp4/trunk/extension/ezfind/classes/ezfsolrdocumentfieldbase.php (original)
+++ ezfind/ezp4/trunk/extension/ezfind/classes/ezfsolrdocumentfieldbase.php Fri Nov 14 14:32:21 2008
@@ -70,16 +70,29 @@
$fieldName = self::getFieldName( $contentClassAttribute );
$metaData = $this->ContentObjectAttribute->metaData();
+
if ( is_array( $metaData ) )
{
- $metaData = $this->implode( $metaData );
- }
- $metaData = $this->preProcessValue( $metaData,
+ $processedMetaDataArray = array();
+ foreach ($metaData as $value)
+ {
+ $processedMetaDataArray[] = $this->preProcessValue( $value,
self::getClassAttributeType( $contentClassAttribute ) );
- return array( $fieldName => $metaData );
- }
-
- /**
+
+ }
+ return array( $fieldName => $processedMetaDataArray);
+ }
+ else
+ {
+ return array( $fieldName => $this->preProcessValue( $metaData,
+ self::getClassAttributeType( $contentClassAttribute ) ) );
+ //return array( $fieldName => $metaData );
+ }
+
+ }
+
+ /**
+ * @deprecated
* Join array to string ( recursive )
* Used to convert metadata array to string.
*
Modified: ezfind/ezp4/trunk/extension/ezfind/search/plugins/ezsolr/ezsolr.php
==============================================================================
--- ezfind/ezp4/trunk/extension/ezfind/search/plugins/ezsolr/ezsolr.php (original)
+++ ezfind/ezp4/trunk/extension/ezfind/search/plugins/ezsolr/ezsolr.php Fri Nov 14 14:32:21 2008
@@ -403,21 +403,12 @@
* @param ezfSolrDocumentFieldBase Instance of ezfSolrDocumentFieldBase
* @param eZSolrDoc Solr document
*/
- function addFieldBaseToDoc( ezfSolrDocumentFieldBase $fieldBase, eZSolrDoc $doc )
- {
- if ( $fieldBase->isCollection() )
- {
- foreach( $fieldBase->getCollectionData() as $collectionBase )
- {
- $this->addFieldBaseToDoc( $collectionBase, $doc );
- }
- }
- else
- {
- foreach( $fieldBase->getData() as $key => $value )
- {
- $doc->addField( $key, $value );
- }
+ function addFieldBaseToDoc( ezfSolrDocumentFieldBase $fieldBase, eZSolrDoc $doc, $boost = false )
+ {
+
+ foreach( $fieldBase->getData() as $key => $value )
+ {
+ $doc->addField( $key, $value, $boost );
}
}
_______________________________________________
svn-eZFind mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/svn-ezfind