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