相关疑难解决方法(0)

将JSON文件导入/索引到Elasticsearch中

我是Elasticsearch的新手,并且一直在手动输入数据,直到此时为止.例如,我做过这样的事情:

$ curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elastic Search"
}'
Run Code Online (Sandbox Code Playgroud)

我现在有一个.json文件,我想把它编入Elasticsearch.我也尝试过类似的东西,但没有成功:

curl -XPOST 'http://jfblouvmlxecs01:9200/test/test/1' -d lane.json
Run Code Online (Sandbox Code Playgroud)

如何导入.json文件?是否需要先采取步骤以确保映射正确?

json elasticsearch

79
推荐指数
9
解决办法
19万
查看次数

parse_exception - 请求正文是必需的

我正在尝试JSON在我的elasticsearch实例中插入一个数据文件。

curl -s -H “Content-Type: application/x-ndjson” -XPOST localhost:9200/_bulk —-data-binary “@restaurants.json”; echo

但是,在执行此命令后,我收到一条错误消息,指出

{"error":{"root_cause":[{"type":"parse_exception","reason":"request body is required"}],"type":"parse_exception","reason":"request body is required"},"status":400}

JSON 文件基本上具有以下对象的数组。唯一的问题是我在这里只放了一个对象以节省空间。但是,存在不止一个对象。

结构如下所示;

[
   {
      "address": {
         "building": "351",
         "coord": [
            -73.98513559999999,
            40.7676919
         ],
         "street": "West   57 Street",
         "zipcode": "10019"
      },
      "borough": "Manhattan",
      "cuisine": "Irish",
      "name": "Dj Reynolds Pub And Restaurant",
      "grades": [
         {
            "date": {
               "$date": "2014-09-06T00:00:00.000Z"
            },
            "grade": "A",
            "score": 2
         },
         {
            "date": {
               "$date": "2013-07-22T00:00:00.000Z"
            },
            "grade": "A",
            "score": 11
         },
         {
            "date": …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

7
推荐指数
2
解决办法
3万
查看次数

Elasticsearch批量JSON数据

这个问题来自这个SO线程

似乎我有一个相似但不相同的查询,因此最好像@Val建议的那样让其他人从中受益。

因此,类似于上述内容,我需要在索引中插入大量数据(我的初始测试大约是10000个文档,但这只是针对POC,还有更多)。我想插入的数据在.json文档中,看起来像这样(片段):

[ { "fileName": "filename", "data":"massive string text data here" }, 
  { "fileName": "filename2", "data":"massive string text data here" } ]
Run Code Online (Sandbox Code Playgroud)

我个人承认,我是ElasticSearch的新手,但是,从阅读文档开始,我的假设是我可以获取.json文件并根据其中的数据创建索引。从那以后,我了解到json中的每个项目似乎都需要有一个“标头”,例如:

{"index":{}}
{ "fileName": "filename", "data":"massive string text data here" }
Run Code Online (Sandbox Code Playgroud)

意思是,这不是实际的json格式(如此),而是操纵的字符串。

我想知道是否有一种方法可以直接获取importjson数据(采用json格式),而不必先手动操作文本(因为我的测试数据有10000个条目,我敢肯定,你会明白为什么我d不想手动执行此操作)。

有什么建议或建议的自动化工具来帮助您吗?

PS-我正在使用Windows Installer和Postman进行通话。

json elasticsearch

5
推荐指数
1
解决办法
758
查看次数

标签 统计

elasticsearch ×3

json ×2