lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "K A (JIRA)" <j...@apache.org>
Subject [jira] Created: (SOLR-2039) Multivalued fields with dynamic names does not work properly with DIH
Date Wed, 11 Aug 2010 19:06:16 GMT
Multivalued fields with dynamic names does not work properly with DIH
---------------------------------------------------------------------

                 Key: SOLR-2039
                 URL: https://issues.apache.org/jira/browse/SOLR-2039
             Project: Solr
          Issue Type: Bug
    Affects Versions: 1.4.1
         Environment: Windows XP, Default Solr 1.4 install with jetty
            Reporter: K A


Attempting to use multiValued fields using the DataImportHandler with dynamic names does not
seem to work as intended.

Setting up the following in schema.xml
<dynamicField name="*_s"  type="string"  indexed="true"  stored="true" multiValued="true"
/> 

Then attempting to import a multiValued field through a RDBMS using children records with
a dynamic name. The snippet from data-config.xml

<entity name="terms" query="select distinct DESC_TERM from tem_metadata where item_id=${item.ID_PK}">
                      <entity name="metadata" query="select * from term_metadata where
item_id=${item.ID_PK} AND desc_term='${terms.DESC_TERM}'" >
                             <field name="${terms.DESC_TERM}_s" column="TEXT_VALUE" />
                       </entity>
 </entity>

Results in only the FIRST record being imported. If we change the field name in the above
example to a constant (ie above field entry becomes: <field name="metadata_record_s" column="TEXT_VALUE"
/>). The multiple records are correctly imported.

This was posted on solr-user, and others have reported the problem on the mailing list archive.

The workaround was to use a javascript transform to perform the same behavior. Changes in
data-config.xml become:

<entity name="metadata" query="select * from vw_item_metadata where item_id=${item.DIVID_PK}
AND core_desc_term='${terms.CORE_DESC_TERM}'" transformer="script:f1"/> 

<script><![CDATA[
      function f1(row) {
        var name = row.get('CORE_DESC_TERM');
                        var value = row.get('TEXT_VALUE')
        row.put(name+ '_s', value);
       
        return row;
      }
 ]]></script> 

This results in multivalued field with a dynamic name assigned.




 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message