[ https://issues.apache.org/jira/browse/SOLR-2183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexandre Rafalovitch reassigned SOLR-2183: ------------------------------------------- Assignee: Alexandre Rafalovitch > DataImportHandler treatment of case for dynamic column mapping vs explicit > mapping > ---------------------------------------------------------------------------------- > > Key: SOLR-2183 > URL: https://issues.apache.org/jira/browse/SOLR-2183 > Project: Solr > Issue Type: Bug > Components: contrib - DataImportHandler > Affects Versions: 1.4.1 > Environment: OOB install, jetty, Win XP > Reporter: K A > Assignee: Alexandre Rafalovitch > > There is a difference to how DIH treats the case of columns when using the > DataImportHandler and using explicit mapping vs dynamic mapping. The exact > test cases I used are described below: > ----------------------------- > From http://wiki.apache.org/solr/DataImportHandler#A_shorter_data-config : > "It is possible to totally avoid the field entries in entities if the names > of the fields are same (case does not matter) as those in Solr schema" > I confirmed that matching the schema.xml field case to the database table is > needed for dynamic fields, and the wiki statement above is incorrect, or at > the very least confusing, possibly a bug. > My database is Oracle 10g and the column names have been created in all > uppercase in the database. > In Oracle: > Table name: wide_table > Column names: COLUMN_1 ... COLUMN_100 (yes, uppercase) > Please see following scenarios and results I found: > data-config.xml > <entity name="item" query="select column_1,column_100 from wide_table"> > <field column="column_100" name="id"/> > </entity> > schema.xml > <dynamicField name="column_*" type="string" indexed="true" stored="true" > multiValued="true" /> > Result: > Nothing Imported > ========= > data-config.xml > <entity name="item" query="select COLUMN_1,COLUMN_100 from wide_table"> > <field column="column_100" name="id"/> > </entity> > schema.xml > <dynamicField name="column_*" type="string" indexed="true" stored="true" > multiValued="true" /> > Result: > Note query column names changed to uppercase. > Nothing Imported > ========= > data-config.xml > <entity name="item" query="select column_1,column_100 from wide_table"> > <field column="COLUMN_100" name="id"/> > </entity> > schema.xml > <dynamicField name="column_*" type="string" indexed="true" stored="true" > multiValued="true" /> > Result: > Note ONLY the field entry was changed to caps > All records imported, with only COLUMN_100 id field. > ============ > data-config.xml > <entity name="item" query="select column_1,column_100 from wide_table"> > <field column="COLUMN_100" name="id"/> > </entity> > schema.xml > <dynamicField name="COLUMN_*" type="string" indexed="true" stored="true" > multiValued="true" /> > Result: > Note BOTH the field entry was changed to caps in data-config.xml, and the > dynamicField wildcard in schema.xml > All records imported, with all fields specified. This is the behavior > desired. > ============= -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org