Solr 无法链接Dataimporthandler和无模式以添加未知字段

Solr 无法链接Dataimporthandler和无模式以添加未知字段,solr,dataimporthandler,schemaless,Solr,Dataimporthandler,Schemaless,我已经用无模式模式链接了dataimporthandler。将配置参数“将未知字段添加到架构”添加到dataimporthandler,如下所示,并配置所有内容。Dataimporthandler导入数据并运行良好,但solr无法将未知字段添加到架构中。它仅适用于现有字段。下面是dataimporthandler对请求的回答 { “负责人”:{ “状态”:0, “QTime”:0 }, “initArgs”:[ “默认值”, [ “update.chain”, “将未知字段添加到架构”, “配置

我已经用无模式模式链接了dataimporthandler。将配置参数“将未知字段添加到架构”添加到dataimporthandler,如下所示,并配置所有内容。Dataimporthandler导入数据并运行良好,但solr无法将未知字段添加到架构中。它仅适用于现有字段。下面是dataimporthandler对请求的回答

{
“负责人”:{
“状态”:0,
“QTime”:0
},
“initArgs”:[
“默认值”,
[
“update.chain”,
“将未知字段添加到架构”,
“配置”,
“db data config.xml”
]
],
“命令”:“状态”,
“状态”:“空闲”,
“进口响应”:“,
“状态消息”:{
“向数据源发出的请求总数”:“1”,
“获取的行总数”:“273”,
“已处理文件总数”:“273”,
“跳过的文档总数”:“0”,
“已开始完全卸载”:“2016-06-21 13:29:48”,
“”索引已完成。添加/更新了273个文档。删除了0个文档。“,
“承诺”:“2016-06-21 13:29:49”,
“所用时间”:“0:0:0.543”
}
}

你可以看到我的配置是正确的。下面是solrconfig文件

<requestHandler name="/dataimport"   class="solr.DataImportHandler">
    <lst name="defaults">
         <str name="update.chain">add-unknown-fields-to-the-schema</str>
         <str name="config">db-data-config.xml</str>
   </lst>

将未知字段添加到架构中
db-data-config.xml


我希望能够从数据库中添加未知字段

DataImportHandler位于无模式模式之前。如果您试图将其自动映射(列名到字段名),则会实现该功能以检查该字段是否存在于架构中,从而了解如何映射它。这样,您就可以只定义模式中需要的字段,而忽略其余字段。它不知道无模式模式可以弥补这一点,也不提供任何字段排除的替代机制(如果默认为accept every field,则需要使用该机制)

如果在DIH中显式定义字段映射,它应该可以工作


如果您确实不知道您将拥有哪个字段,那么最好从数据库内容生成一个CSV、XML或JSON文件,并将其推送到Solr,而不是使用DIH将其拉出来

DataImportHandler位于无模式模式之前。如果您试图将其自动映射(列名到字段名),则会实现该功能以检查该字段是否存在于架构中,从而了解如何映射它。这样,您就可以只定义模式中需要的字段,而忽略其余字段。它不知道无模式模式可以弥补这一点,也不提供任何字段排除的替代机制(如果默认为accept every field,则需要使用该机制)

如果在DIH中显式定义字段映射,它应该可以工作


如果您确实不知道您将拥有哪个字段,那么最好从数据库内容生成一个CSV、XML或JSON文件,并将其推送到Solr,而不是使用DIH将其拉出来

DIH还包括一些链式处理器,如果它不是模式生成器,它应该使用它。我知道我可以选择将它导出到某个地方,但它不能满足我的需要。DIH还包括一些链处理器,如果它不是schema generator,它应该使用它。我知道我有出口的选择,但它不脚我的需要。