如何将JSON上传到AWS CloudSearch

时间:2018-07-03 11:42:36

标签: amazon-web-services amazon-cloudsearch

似乎我错过了一些非常简单的东西,但无法弄清这里有什么问题。 我要上传下一个JSON文件:

>>> [s.strip() for s in re.split(r"\d+ Kill\(s\)", s) if s.strip()]
    ['Abc - 33 SR', 'P G - (Type-1P-G)', 'M', 'S - M9A CWS']

创建索引字段[{ "name": "Mark" }] 后: enter image description here

然后我在“仪表板”页面上选择nameenter image description here

然后我有一个错误:

Upload Documents

enter image description here

我做错了什么?

2 个答案:

答案 0 :(得分:2)

我目前正在尝试使用它,但我遇到了同样的问题。

尝试一下:

1 /创建JSON批处理以将数据添加到搜索域

例如:

[
  {
    "type": "add",
    "id": "uniqueid:1",
    "fields": {
        "name": "jack",
    }
  },
  {
    "type": "add",
    "id": "uniqueid:2",
    "fields": {
        "name": "pierre",
    }
  },
  {
    "type": "add",
    "id": "uniqueid:3",
    "fields": {
        "name": "bob",
    }
  }
]

2 /现在转到您的域仪表板,然后单击“上传文档”:上载此JSON批处理

3 /转到“运行测试搜索”并尝试找到“ bob”:例如,您应该拥有bob数据!

有关批次的文档:https://docs.aws.amazon.com/cloudsearch/latest/developerguide/preparing-data.html

要将数据上传到您的搜索域,您需要遵守此批处理格式,请查看文档和指南:)

您也可以使用将用于触发lambda函数的存储桶来执行此操作,其思想是:当您将存储桶中的文件上传时,启动lambda函数以读取该文件并创建一个批处理文件将新数据添加到索引。而当您删除文件时:您会将数据删除到索引中!

如果您需要有关lambda函数的帮助,请查看本教程:https://medium.com/devopslinks/build-your-own-document-search-engine-using-amazon-web-services-82d5b165d96c

希望有帮助!

答案 1 :(得分:-1)

[
  {
    'type': 'add',
    'id': 'item1',
    'fields': {
        'name': 'salt',
    }
  },
  {
    'type': 'add',
    'id': 'item2',
    'fields': {
        'name': 'sugar',
    }
  },
  {
    'type': 'add',
    'id': 'item3',
    'fields': {
        'name': 'rice',
    }
  }
]

我尝试上传上述数据,但出现错误。因此,我将单引号'修改为双引号',然后解决了。我能够上传到AWS CloudSearch。

[
  {
    "type": "add",
    "id": "item1",
    "fields": {
        "name": "salt",
    }
  },
  {
    "type": "add",
    "id": "item2",
    "fields": {
        "name": "sugar",
    }
  },
  {
    "type": "add",
    "id": "item3",
    "fields": {
        "name": "rice",
    }
  }
]