solr数据导入处理程序无法索引数据

时间:2013-03-07 10:24:35

标签: solr

数据config.xml如下

<dataConfig>  
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/solrdata" user="root" password="root"  />  
    <document name="cars">  

        <entity name="car" query="SELECT color FROM solrdata.car ">  

          <field column="color" name="color" />  

        </entity>  

    </document>  
</dataConfig>  

schema.xml与follsws一样

field name="color" type="string"  indexed="true" stored="true" />  

我在调试模式下检查了它获取数据但无法处理它

调试模式的输出如下:

{
  "responseHeader": {
    "status": 0,
    "QTime": 312
  },
  "initArgs": [
    "defaults",
    [
      "config",
      "data-config.xml"
    ]
  ],
  "command": "full-import",
  "mode": "debug",
  "documents": [
    {
      "COLOR": [
        "red"
      ]
    },
    {
      "COLOR": [
        "silver"
      ]
    },
    {
      "COLOR": [
        "oii"
      ]
    }
  ],
  "verbose-output": [],
  "status": "idle",
  "importResponse": "",
  "statusMessages": {
    "Total Requests made to DataSource": "1",
    "Total Rows Fetched": "3",
    "Total Documents Skipped": "0",
    "Full Dump Started": "2013-03-07 15:49:14",
    "Total Documents Processed": "0",
    "Total Documents Failed": "3",
    "Time taken": "0:0:0.281"
  },
  "WARNING": "This response format is experimental.  It is likely to change in the future."
}

3 个答案:

答案 0 :(得分:3)

每个文档都有一个 uniqueKey 来唯一标识它(可以认为与数据库中的 PrimaryKey 类似)。

在data-config.xml中修改您的实体,如下所示:

<entity name="car" query="SELECT color,id FROM solrdata.car ">  

  <field column="id" name="id" />  
  <field column="color" name="color" />  

</entity>  

注意:字段ID是表格车的 primaryKey

在schema.xml文件中,添加以下行

<field name="id" type="string" indexed="true" stored="true" required="true" />

另外,请确保以下文字

<uniqueKey>id</uniqueKey>
你的schema.xml中的

没有被注释掉。

现在,重新启动Solr Web应用程序并执行完全导入。

答案 1 :(得分:3)

我可以从导入处理程序响应中读取:

"Total Documents Failed": "3"

向我看,好像您的查询存在一些问题,或者加载的架构是否与DIH输出“匹配”。强烈推荐使用<uniqueKey>字段。但缺少的唯一密钥声明应导致该错误。

查看管理控制台上的“日志记录”页面。如果数据导入处理程序遇到查询问题,那么您将在那里找到一个日志条目。

如果在solr实例运行时应用了任何更改,请不要忘记刷新架构和DIH配置文件。

答案 2 :(得分:0)

某些特定字段(包括版本)不应位于字段列表中。 (fl =&#34; *&#34;这包含所有字段) 分别使用相应的ID

尝试每个字段

FL =&#34;编号,颜色&#34;