如何在PHP中将重复键添加到字典中?

时间:2019-01-25 13:47:34

标签: python-2.7 solr

我正在尝试让python与solr一起使用,但是我陷入了一个请求添加多个文档的过程。 (字符串被分解为单词,并将它们添加到多个更新命令中)

我已经尝试过将字典添加到列表中,但是solr不想以那种令人讨厌的方式来理解它。


期望的JSON:

{
    "add": {
        "doc": {
            "Text": "WORD_HERE",
            "ID": "ID_HERE"
        }
    },
    "add": {
        "doc": {
            "Text": "WORD_HERE",
            "ID": "ID_HERE"
        }
    },
    "commit": {}
}

Python:

for word in wordList:
    payload.update({"add": { "doc": { "Text": word, "ID": str(uuid.uuid4()) }}})
payload.update({"commit": {}})
f = open("outputjsontest.txt", "a")
f.write(json.dumps(payload))

结果JSON :(符合逻辑)

{
    "add": {
        "doc": {
            "Text": "I",
            "ID": "e5324345-4ac0-4143-bbc7-73235331f5b3"
        }
    },
    "commit": {}
}

我知道这不是正确的json,但是solr parses可以理解。我现在的问题是,有没有办法设计上面显示的有效负载?我不太擅长python,但是我需要的库仅在python中可用。

1 个答案:

答案 0 :(得分:0)

似乎Solr supports a list of objects!所以我的尝试真的没用。感谢@MatsLindh解决了该问题!