使用 JSON 更新 solr 索引时出错:意外 OBJECT_START

Error on updating solr index with JSON: Unexpected OBJECT_START

当使用默认的 UpdateRequestHandler 发布到 solr 4.10 时,我收到以下错误:

org.apache.solr.common.SolrException; org.apache.solr.common.SolrException: Error parsing JSON field value. Unexpected OBJECT_START

例如,我发送以下内容 json:

[
  {
    "add": {
      "doc": {
        "key": "ph2gi6i8",
        "p_profit_tf": "22.248070175438603",
        "p_discount_tf": "18.771929824561404",
        "p_designer_s": "POP CANDY"
      },
      "overwrite": true
    }
  }
]

这是基于此处 solr 文档中的示例架构:https://wiki.apache.org/solr/UpdateJSON

在schema.xml中配置的唯一必填字段是关键字段

你不能在数组中传递它,而是通过换行符分隔的对象:

  {
    "add": {
      "doc": {
        "key": "ph2gi6i8",
        "p_profit_tf": "22.248070175438603",
        "p_discount_tf": "18.771929824561404",
        "p_designer_s": "POP CANDY"
      },
      "overwrite": true
    }
  }
  {
    "add": {
      "doc": {
        "key": "ph2gi6i8",
        "p_profit_tf": "22.248070175438603",
        "p_discount_tf": "18.771929824561404",
        "p_designer_s": "POP CANDY"
      },
      "overwrite": true
    }
  }