如何在elasticsearch中插入数据

niwlg2el  于 2023-02-07  发布在  ElasticSearch
关注(0)|答案(8)|浏览(190)

我是Elasticearch的新手,我已经尝试了2天来插入一些数据到Elasticearch,我发现在谷歌上有很多页面可以帮助创建一个索引(我不清楚“索引”是什么意思,其他术语是“插入”吗?)然后很多地方给予一些curl命令,我真的不知道在哪里执行这些代码行来插入数据,例如:

curl -XPOST "http://[localhost]:9200/indexname/typename/optionalUniqueId" -d '{ "field" : "value" }'

我使用的是Windows7,我已经安装了Java,并且成功运行了Elasticsearch。谁能告诉我更多关于如何将数据插入Elasticsearch的细节
多谢

disho6za

disho6za1#

你必须先在你的电脑上安装curl二进制文件。你可以下载它from here
之后解压缩到一个文件夹中。假设C:\curl。在该文件夹中,您会发现curl.exe文件与几个.dll文件。
现在,从start menu中键入cmd,打开命令提示符,然后键入cd c:\curl,它会将您带到curl文件夹。现在,执行您拥有的curl命令。
有一件事,windows不支持单引号,所以你必须使用双引号,例如我已经把你的curl命令转换成合适的。

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

bzzcjhmw2#

如果你使用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
}
pdsfdshx

pdsfdshx3#

让我解释清楚..如果你熟悉关系数据库..索引是数据库..和索引类型是表..这意味着索引是集合的索引类型.,像集合的表作为数据库(DB).
在NOSQL中..索引是数据库,索引类型是集合。集合的分组为数据库。
要执行这些查询...您需要安装CURL for Windows。
Curl只不过是一个命令行休息工具。。如果你想要一个图形工具。。试试
Chrome的感知插件...
希望能有所帮助。

ncgqoxb0

ncgqoxb04#

要测试和尝试来自Windows的curl请求,您可以使用Postman客户端Chrome扩展。它使用非常简单,功能相当强大。
或者按照建议安装cURL实用程序。
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在广大。所以请让我知道,如果你有任何其他的疑问。
编辑:将索引名称和类型名称更新为全小写,以避免错误并遵循约定。

noj0wjuj

noj0wjuj5#

我开始使用curl,但后来我迁移到使用kibana。下面是elastic.co(EElasticSearch,K kibana)上关于ELK堆栈的更多信息:https://www.elastic.co/elk-stack
使用kibana时,您的POST请求要简单一些:

POST /<INDEX_NAME>/<TYPE_NAME>
{
    "field": "value",
    "id": 1,
    "account_id": 213,
    "name": "kimchy"
}
yqlxgs2m

yqlxgs2m6#

为了避免使用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"
}'

请注意,索引名称必须为小写。

iqjalb3h

iqjalb3h7#

    • 如果有人只想使用curl复制粘贴命令,将数据发送到ElasticSearch,并输入用户名和密码:**
  • 确保更改命令:*
  • ElasticSearchURL
  • 用户名
  • 密码

下面是命令:

curl -u YOUR_USERNAME:YOUR_PASSWORD -H "Content-Type: application/json" -XPOST "https://YOUR-ELASTICSEARCH-URL.com/adam/test" -d '{ "hello" : "world"}'

就是这样。

  • 请注意:*
  • 命令大小的路径是2(adam/test)-然后您可以发布到ElasticSearch。
  • 将消息更改为您想要的任何内容,例如'{ "data" : "good"}'
  • 你不必使用用户名和密码-只需从命令中删除:

-u YOUR_USERNAME:YOUR_PASSWORD

  • 如果你想看到kibana中的数据,不要忘记在kibana中添加索引。(就在UI菜单中-搜索索引模式并添加星号*
  • 成功的消息如下所示:{"_index":"hello","_type":"world","_id":"QyBtfXsB-dsakdew29","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}%
tct7dpnv

tct7dpnv8#

简单的基本原理,Elastic社区已经将索引、搜索、删除操作公开为休息Web服务,你可以使用curl或sense(chrome插件)或任何休息客户端(如postman)与Elastic交互。
如果你只是测试一些命令,我建议你可以使用感觉chrome插件,它有简单的用户界面和相当成熟的插件了。

相关问题