[ 
https://issues.apache.org/jira/browse/SOLR-6018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aaron LaBella updated SOLR-6018:
--------------------------------

    Description: 
There is an issue with org.apache.solr.handler.dataimport.DocBuilder.addFields 
around ~line 643.  The logic currently says see if you can find the field from 
the schema, ie:

SchemaField sf = schema.getFieldOrNull(key);

and, if not found, go ask DIHConfiguration to find it, ie:

sf = config.getSchemaField(key);

The latter call takes into account case-insensitivity, which is a big deal 
since some databases, ie: DB2, upper case all the resulting column names.  In 
order to not modify solr-core (ie: the match login in IndexSchema), I'm 
attaching a patch that makes DIHConfiguration apply the same case-insensitive 
logic to the DynamicFields.

Without this patch, dynamic fields will not be added to the index unless you 
declare them like this:

  <dynamicField name="*_S"    type="string"       indexed="true" stored="true" 
/>

(note the capital S)

which is in-consistent with what I believe to be solr schema conventions to 
have all the schema fields as lower-case.

Thanks.


  was:
There is an issue with org.apache.solr.handler.dataimport.DocBuilder.addFields 
around ~line 643.  The logic currently says see if you can find the field from 
the schema, ie:

SchemaField sf = schema.getFieldOrNull(key);

and, if not found, go ask DIHConfiguration to find it:



> Solr DataImportHandler not finding dynamic fields
> -------------------------------------------------
>
>                 Key: SOLR-6018
>                 URL: https://issues.apache.org/jira/browse/SOLR-6018
>             Project: Solr
>          Issue Type: Bug
>          Components: contrib - DataImportHandler
>    Affects Versions: 4.7
>            Reporter: Aaron LaBella
>             Fix For: 4.9
>
>
> There is an issue with 
> org.apache.solr.handler.dataimport.DocBuilder.addFields around ~line 643.  
> The logic currently says see if you can find the field from the schema, ie:
> SchemaField sf = schema.getFieldOrNull(key);
> and, if not found, go ask DIHConfiguration to find it, ie:
> sf = config.getSchemaField(key);
> The latter call takes into account case-insensitivity, which is a big deal 
> since some databases, ie: DB2, upper case all the resulting column names.  In 
> order to not modify solr-core (ie: the match login in IndexSchema), I'm 
> attaching a patch that makes DIHConfiguration apply the same case-insensitive 
> logic to the DynamicFields.
> Without this patch, dynamic fields will not be added to the index unless you 
> declare them like this:
>   <dynamicField name="*_S"    type="string"       indexed="true" 
> stored="true" />
> (note the capital S)
> which is in-consistent with what I believe to be solr schema conventions to 
> have all the schema fields as lower-case.
> Thanks.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to