lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron LaBella (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SOLR-6018) Solr DataImportHandler not finding dynamic fields
Date Fri, 25 Apr 2014 16:53:19 GMT

     [ 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:

{code:title=DocBuilder.java|borderStyle=solid}
SchemaField sf = schema.getFieldOrNull(key);
{code}

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

{code:title=DocBuilder.java|borderStyle=solid}
sf = config.getSchemaField(key);
{code}

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:

{code:xml}
  <dynamicField name="*_S" type="string" indexed="true" stored="true" />
{code}

(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:

{code:title=DocBuilder.java|borderStyle=solid}
SchemaField sf = schema.getFieldOrNull(key);
{code}

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

{code:title=DocBuilder.java|borderStyle=solid}
sf = config.getSchemaField(key);
{code}

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:

{code:xml}
  <dynamicField name="*_S"    type="string"       indexed="true" stored="true" />
{code}

(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.



> 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
>
>         Attachments: 0001-dih-config-check-for-dynamic-fields.patch
>
>
> 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:
> {code:title=DocBuilder.java|borderStyle=solid}
> SchemaField sf = schema.getFieldOrNull(key);
> {code}
> and, if not found, go ask DIHConfiguration to find it, ie:
> {code:title=DocBuilder.java|borderStyle=solid}
> sf = config.getSchemaField(key);
> {code}
> 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:
> {code:xml}
>   <dynamicField name="*_S" type="string" indexed="true" stored="true" />
> {code}
> (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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message