You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "pavlick (JIRA)" <ji...@apache.org> on 2010/11/21 15:47:14 UTC
[jira] Updated: (SOLR-2039) Multivalued fields with dynamic names
does not work properly with DIH
[ https://issues.apache.org/jira/browse/SOLR-2039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
pavlick updated SOLR-2039:
--------------------------
Attachment: SOLR-2039.patch
I hope this patch will help solve the issue
> 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
> Components: contrib - DataImportHandler
> Affects Versions: 1.4.1
> Environment: Windows XP, Default Solr 1.4 install with jetty
> Reporter: K A
> Attachments: SOLR-2039.patch
>
>
> 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