停止Solr用字段名

时间:2016-10-18 13:20:57

标签: solr

我将系统从使用Solr 1.4移动到Solr 6.x(或可能的5.x),并且字段名称都包含冒号(例如" rdf:type")。我使用schema.xml文件将所有配置文件转换为Solr 6.x版本。我可以看到" rdf:type"在Solr的架构视图中。

这些字段名在1.4中运行良好但现在冒号在尝试索引时会自动转换为下划线。

例如,使用Solr的内置界面,如果我尝试提交一个简单的文档,如:

{'rdf:type': 'http://purl.org/ontology/bibo/Note'}

我收到一条错误消息:

  

错误:[doc = 682e3f70-a4bc-4336-9f69-e7d620fe5fff]未知字段' rdf_type'

是否可以关闭"此功能?使用冒号会导致最新版本的Solr出现问题吗?

(侧面说明,制作" rdf:输入"强制字段然后不包括它会导致错误,其中显示:"缺少必填字段:rdf:type",ie它显示正确的名称)

1 个答案:

答案 0 :(得分:2)

这种行为不是Solr本身的“本机”,而是默认更新处理器链的一部分,它被添加到捆绑示例中的Schemaless模式的配置中(这是默认设置)。

原因是lucene使用:将字段名称与要在这些字段中查询的值分开,因此通常更容易将:保留在字段名称之外。

您可以通过从更新链中删除FieldNameMutatingUpdateProcessorFactory来更改此设置,或使用您自己的架构(不使用更新处理器链)。