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: [email protected]
For additional commands, e-mail: [email protected]