Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Curl 如何将数据插入elasticsearch_Curl_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Curl,elasticsearch" /> elasticsearch,Curl,elasticsearch" />

Curl 如何将数据插入elasticsearch

Curl 如何将数据插入elasticsearch,curl,elasticsearch,Curl,elasticsearch,我是ElasticSearch的新手,两天来我一直在尝试将一些数据插入ElasticSearch。 我在谷歌上发现,有很多页面可以帮助创建索引(我不清楚“索引”是什么意思,它在其他方面是否意味着“插入”) 然后很多地方给出了一些curl命令,我真的不知道在哪里执行这些代码行来插入数据。例如: curl -XPOST "http://[localhost]:9200/indexname/typename/optionalUniqueId" -d '{ "field" : "value" }' 我

我是ElasticSearch的新手,两天来我一直在尝试将一些数据插入ElasticSearch。 我在谷歌上发现,有很多页面可以帮助创建索引(我不清楚“索引”是什么意思,它在其他方面是否意味着“插入”) 然后很多地方给出了一些curl命令,我真的不知道在哪里执行这些代码行来插入数据。例如:

curl -XPOST "http://[localhost]:9200/indexname/typename/optionalUniqueId" -d '{ "field" : "value" }'
我正在使用Windows7,我已经安装了Java并成功运行了elasticsearch。 有没有人能告诉我更多关于如何将数据插入ElasticSearch的细节


非常感谢

您必须首先在PC中安装
curl
二进制文件。你可以下载它

然后将其解压缩到一个文件夹中。比如说
C:\curl
。在该文件夹中,您将找到包含多个
.dll
文件的
curl.exe
文件

现在,通过从
开始菜单键入
cmd
打开命令提示符。然后在那里键入
cdc:\curl
,它将带您进入curl文件夹。现在执行已有的
curl
命令

首先,windows不支持字段周围的单引号。所以你必须使用双引号。例如,我已将curl命令转换为适当的命令

curl -H "Content-Type: application/json" -XPOST "http://localhost:9200/indexname/typename/optionalUniqueId" -d "{ \"field\" : \"value\"}"

让我解释清楚。。如果您熟悉rdbms。。索引是数据库。。索引类型为表。。这意味着索引是索引类型的集合,就像数据库(DB)中的表集合一样

在NOSQL中。。索引是数据库,索引类型是集合。作为数据库的集合组

要执行这些查询。。。你需要为Windows安装CURL

Curl只是一个命令行rest工具。。如果你想要一个图形化的工具。。试一试

感铬插件


希望能有帮助

要测试和尝试来自Windows的curl请求,可以使用Postman客户端Chrome扩展。它使用非常简单,功能也非常强大

或者按照建议,您可以安装cURL util

示例curl请求如下所示

curl -X POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{
"user" : "Arun Thundyill Saseendran",
"post_date" : "2009-03-23T12:30:00",
"message" : "trying out Elasticsearch"
}' "http://10.103.102.56:9200/sampleindex/sampletype/"
我也开始在广袤的土地上探索ES。所以如果你还有其他疑问,请告诉我


编辑:将索引名和类型名更新为完全小写,以避免错误并遵循约定。

简单基础,弹性社区将索引、搜索和删除操作公开为rest web服务。 您可以使用curl或sense(chrome插件)或任何rest客户端(如postman)进行交互


如果您只是测试一些命令,我建议您可以使用sense chrome插件,它现在有简单的UI和相当成熟的插件。

为了避免使用curl或chrome插件,您可以使用内置的windows Powershell。从Powershell命令窗口运行

Invoke-WebRequest -UseBasicParsing "http://127.0.0.1:9200/sampleindex/sampleType/" -
Method POST -ContentType "application/json" -Body '{
"user" : "Test",
"post_date" : "2017/11/13 11:07:00",
"message" : "trying out Elasticsearch"
}'

注意索引名必须是小写的。

我从使用
curl
开始,但后来已经迁移到使用
kibana
。以下是关于elastic.co(E elastic search,K kibana)中麋鹿堆栈的更多信息:

使用kibana,您的
POST
请求更简单:

POST /<INDEX_NAME>/<TYPE_NAME>
{
    "field": "value",
    "id": 1,
    "account_id": 213,
    "name": "kimchy"
}
POST//
{
“字段”:“值”,
“id”:1,
“账户id”:213,
“名称”:“kimchy”
}

如果您将KIBANA与elasticsearch结合使用,那么您可以使用下面的RESt请求创建并放入索引

创建索引:

http://localhost:9200/company
PUT company
{
  "settings": {
    "index": {
      "number_of_shards": 1,
      "number_of_replicas": 1
    },
    "analysis": {
      "analyzer": {
        "analyzer-name": {
          "type": "custom",
          "tokenizer": "keyword",
          "filter": "lowercase"
        }
      }
    }
  },
  "mappings": {
    "employee": {
      "properties": {
        "age": {
          "type": "long"
        },
        "experience": {
          "type": "long"
        },
        "name": {
          "type": "text",
          "analyzer": "analyzer-name"
        }
      }
    }
  }
}
创建文档:

POST http://localhost:9200/company/employee/2/_create
{
"name": "Hemani",
"age" : 23,
"experienceInYears" : 2
}

亲爱的BlackPop,谢谢您的回复。我已经阅读并正在使用RESTClient。我试着为chrome搜索Sense插件,但Google appstore中只有AdSense。顺便问一下,有了这些工具,我怎样才能在Elatic中插入一条记录?许多thanksSense插件都是专为elasticsearch设计的。尝试为chrome安装sense插件。。它仅适用于chrome浏览器。。Try itIndex在Elasticsearch中有很多不同的含义。这也是一种行动。如果为文档编制索引,则将其添加到Elasticsearch以编制索引。请记住,Elasticsearch是一个搜索引擎,用于搜索存储在其中的数据。只需添加一点,“类型”可以与关系数据库中的表进行比较,但实际上在Elasticsearch或更具体地说是Lucene库中不存在,它似乎在7版本中类型被删除,索引将直接与Lucene对齐。谢谢Sabuj,我有InstalCurl并运行代码,它在“data”文件夹中创建一个indexname。但每当我需要向ElasticSearch插入数据时,我都必须使用这些工具,如CURL、RESTClient。。。据我所知,ElasticSearch使用Web服务与数据联系,对吗?如果我需要使用我的应用程序与Elastic进行交互,我该怎么做?许多人对ElasticSearch不太了解。可能正在执行
POST
GET
从应用程序请求即可。不确定,因为我不知道如何使用
ElasticSearch
创建应用程序。谢谢Sabuj Hassan,我会在找到更多内容后回来。但是你能帮我把一个.json文件插入到Elastic中吗?我现在可以在Elastic中插入一条测试记录,但我需要在其中插入大约200个.json文件。代码行curl-XPOST”“-@data1.json对我不起作用(data1.json是我的.json文件)谢谢Sabuj Hassan,你帮了我这么多。顺便说一下,我必须使用文件的完整路径,而不是仅使用扩展名为的文件名(我只是认为它会识别同一目录中的文件,但它不会)@tedder42您能解释一下为什么我们在windows上使用\?为什么只在{}内使用?从代码中,我得到一个错误,索引名必须是小写。更改为simpleindex并调用成功。elastic.co网站现在提供了一个页面来解决此OP的问题。请访问。