资讯专栏INFORMATION COLUMN

Elasticsearch 学习笔记——2.es 的简单命令操作

UsherChen / 1704人阅读

摘要:还有,表示数据的分类,类似于数据库中的一个,的数据是以格式表示的,每一条数据叫做。更新数据,还是使用上面的命令,重新即可。

1. 导入数据

首先,我们需要一些数据来支持我们的操作,这里我采用的是使用 filebeat 来采集数据到 es ,filebeat 也是 elastic 系列的产品,专门用来收集日志文件,使用十分的简单,在官网(下载地址)下载安装包解压,然后修改一下配置文件 filebeat.yml,具体的修改如下:

将 enabled 修改为 true,表示启用导入配置,然后在路径 paths 那里配置日志文件的地址。

然后修改输出设置,将数据输出到 es 中,这里需要配置 elasticsearch 的地址,我这里是 192.168.66.135:9201,你配置成自己在 es 的配置文件中设置的 ip 和 port 就行了。

启动 filebeat 的命令:./filebeat -e -c filebeat.yml -d "publish" ,这里需要确保 es 也是启动的状态,然后 filebeat 会连接到 es,将数据输出。

完成后,使用命令 curl -X GET "192.168.66.135:9201/_cat/indices?v" 查看创建的 index 情况:

2. 简单的命令操作

在 elasticsearch 中,数据是以文档的形式存放的,这也是它能支持全文本搜索的原因,有三个比较关键的概念需要理解一下,首先是 index,这个相当于关系型数据库中的一个数据库。还有 Type ,表示数据的分类,类似于数据库中的一个 table,es 的数据是以 json 格式表示的,每一条数据叫做 document。

只不过根据规划,es 6.x 版只允许每个 Index 包含一个 Type,7.x 版将会彻底移除 Type。

有了数据之后,接下来介绍一些查询数据的常用命令:

1. 数据

1.插入数据:

curl -X PUT "192.168.66.135:9200/megacorp/employee/1" -H "Content-Type: application/json" -d"
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}
"

上面的命令,在 index 为 megacorp,并且 Type 为 employee 下面创建了一条数据,id 是 1,如果不指定 id 的话,es 会自动生成。

注意:如果 es 中没有命令中的 index ,它会自动创建,所以,插入数据的时候,需要注意 index 名称的正确性。

2.更新数据,还是使用上面的命令,重新 PUT 即可。

3.删除数据,使用 DELETE 命令,例如删除上面插入的数据:curl -X DELETE "192.168.66.135:9200/megacorp/employee/1"

2. 索引

4.查看 es 中所有的 index 情况:curl -X GET "192.168.66.128:9200/_cat/indices?v"

5.删除 index :curl -X DELETE "192.168.66.135:9200/megacorp" ,删除名为 megacorp 的 index。

3. 搜索

6.查看 es 中的所有数据:http://192.168.66.128:9200/_search ,这条命令还可以加上一些其他的条件,例如:

查看 megacorp 索引下的所有数据:http://192.168.66.128:9200/megacorp/_search

查看 megacorp1, megacorp2 两个 索引下的所有数据:http://192.168.66.128:9200/megacorp1,megacorp2/_search

查看 megacorp 索引下的 employee 类型的数据:http://192.168.66.128:9200/megacorp/employee/_search

在所有的索引中搜索 user1 和 user2 类型的数据:http://192.168.66.128:9200/_all/user1,user2/_search

7.简单搜索:例如要查找 source 下面 message 这一列的数据中,包含 了某个字符串(这里以 connect 为例)的所有记录:http://192.168.66.135:9201/filebeat-6.5.4-2019.04.06/_search?q=message:connect

8.全文搜索,可实现上面这种包含某个字符串的搜索,搜索的文本如下:

curl -X GET "192.168.66.135:9200/megacor/search" -H "Content-Type: application/json" -d"
{
    "query" : {
        "match" : {
            "message" : "connect"
        }
    }
}
"

9.搜索分页:

从搜索的结果中选取前 50 条记录:http://192.168.66.128:9200/megacorp/_search?size=50

从第 3 页中选取 10 条记录:http://192.168.66.128:9200/megacorp/_search?size=10&from=3


OK,今天就暂时介绍这么多了,后面再继续写。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/34409.html

相关文章

  • elasticsearch学习笔记(五)——快速入门案例实战电商网站商品管理:集群健康检查,文档C

    摘要:和都已经安装和启动了,下就开始进行实战了数据格式首先来讲一下为什么面向文档以及面向文档的好处。下面是展示的例子从这个例子就可以看出操作成功了删除商品删除文档格式 elasticsearch和kibana都已经安装和启动了,下就开始进行实战了 1、document数据格式 首先来讲一下ES为什么面向文档以及面向文档的好处。(1)一般应用系统的数据结构都是面向对象的,结构复杂,操作起来特别...

    马龙驹 评论0 收藏0
  • Elasticsearch 学习笔记——1.在 Linux 上安装 elasticsearch

    摘要:在上安装首先,说明一下我的版本是的版本是。首先需要安装一下,在上安装的方法就不再赘述了,大家可自行搜索安装。在官网上面下载的安装包,选择系统那个,然后拷贝至上面,解压出来。使用命令绑定的,和端口一般是接下来,需要修改几个系统的配置。 1. 什么是 elasticsearch ? 一个偶然的机会,leader 让我看看关于 es 的内容,之前我还未接触过,打开官网一看,发现关于 eals...

    Fundebug 评论0 收藏0
  • 《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch

    摘要:从到学习介绍从到学习介绍其中包括了和的,后面我也讲了下如何自定义自己的和。这个问题可是线上很容易遇到的关注我转载请务必注明原创地址为微信公众号另外我自己整理了些的学习资料,目前已经全部放到微信公众号了。 showImg(https://segmentfault.com/img/remote/1460000017935460?w=1280&h=853); 前言 前面 FLink 的文章中...

    W4n9Hu1 评论0 收藏0
  • 《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch

    摘要:从到学习介绍从到学习介绍其中包括了和的,后面我也讲了下如何自定义自己的和。这个问题可是线上很容易遇到的关注我转载请务必注明原创地址为微信公众号另外我自己整理了些的学习资料,目前已经全部放到微信公众号了。 showImg(https://segmentfault.com/img/remote/1460000017935460?w=1280&h=853); 前言 前面 FLink 的文章中...

    NotFound 评论0 收藏0
  • 《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch

    摘要:从到学习介绍从到学习介绍其中包括了和的,后面我也讲了下如何自定义自己的和。这个问题可是线上很容易遇到的关注我转载请务必注明原创地址为微信公众号另外我自己整理了些的学习资料,目前已经全部放到微信公众号了。 showImg(https://segmentfault.com/img/remote/1460000017935460?w=1280&h=853); 前言 前面 FLink 的文章中...

    Songlcy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<