Mateusz Matela created SOLR-3967:
------------------------------------

             Summary: Mapping error: langid.enforceSchema option checks source 
field instead of target field
                 Key: SOLR-3967
                 URL: https://issues.apache.org/jira/browse/SOLR-3967
             Project: Solr
          Issue Type: Bug
          Components: contrib - LangId
    Affects Versions: 4.0
            Reporter: Mateusz Matela


I use LangDetect update processor with a document that has "body" field. 
LangDetect should map this field to "body_pl", "body_en" or "body_nolang". My 
schema defines fields with language suffixes, but not "body" field. When the 
processor runs, I get error:
{quote}Unsuccessful field name mapping to body_nolang, field does not exist, 
skipping mapping.{quote}

I looked up source code and it seems there's an error in 
{{org.apache.solr.update.processor.LanguageIdentifierUpdateProcessor.process(SolrInputDocument)}}:
{noformat}
          String mappedOutputField = getMappedField(fieldName, fieldLang);
          if(enforceSchema && schema.getFieldOrNull(fieldName) == null) {
            log.warn("Unsuccessful field name mapping to {}, field does not 
exist, skipping mapping.", mappedOutputField, fieldName);
            mappedOutputField = fieldName;
          }
{noformat}
I think it should check for {{schema.getFieldOrNull(mappedOutputField)}} 
instead.



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to