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

Reply via email to