読者です 読者をやめる 読者になる 読者になる

Drafts

@cm3 の草稿置場 / 少々Wikiっぽく使っているので中身は適宜追記修正されます。

Solr で複数のデータを投入する

jsonでの場合、update request-handler に、

[
{
 "id": "1",
 "title": "Mercury",
 "composition": ["sodium","hydrogen","helium","potassium"]
 }
 {
 "id": "2",
 "title": "Venus",
 "composition": ["carbon dioxide","nitrogen"]
 }
]

のように複数のドキュメントを投入できると多くのドキュメントに書いてあるが、実際は、

Status: error
Error: Bad Request
Error:

{
  "responseHeader": {
    "status": 400,
    "QTime": 1
  },
  "error": {
    "msg": "Expected: OBJECT_START but got ARRAY_START at [16]",
    "code": 400
  }
}

のように言われてできない。update/json/docs request-handler に投入すると、成功するが、

      {
        "add.doc.id": [
          3,
          4
        ],
        "add.doc.title": [
          "Earth",
          "Mars"
        ],
        "add.doc.composition": [
          "nitrogen",
          "oxygen",
          "argon",
          "carbon dioxide",
          "argon",
          "nitrogen"
        ],
        "add.boost": [
          1
        ],
        "add.overwrite": [
          true
        ],
        "add.commitWithin": [
          1000
        ],
        "id": "02fe0b1a-ab94-49c2-856a-690c08ce6bfe",
        "_version_": 1502928191064375300
      }

のように結合されてしまった全く意図しないものが入ってしまった。 今はスクリプトでとりあえず一つずつ入れている。

参考:

TODO

昔のスクリプトチェック。でき無い筈はない。CSVでの複数アップデートについても。