如何将 JSON 上传到 AWS CloudSearch

How to upload JSON to AWS CloudSearch

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

[{
    "name": "Mark"
}]

创建索引字段后name

然后我在仪表板页面上选择 Upload Documents

然后我有一个错误:

Your upload includes 1 document containing the following fields: content content_encoding content_type resourcename

我做错了什么?

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

试试这个:

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/ 现在转到您的域仪表板并单击 "upload document":上传此 JSON 批处理

3/ 转到 "run a test search" 并尝试查找 "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

希望对您有所帮助!

[
  {
    '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",
    }
  }
]