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