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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 首先,我们需要一些数据来支持我们的操作,这里我采用的是使用 filebeat 来采集数据到 es ,filebeat 也是 elastic 系列的产品,专门用来收集日志文件,使用十分的简单,在官网(下载地址)下载安装包解压,然后修改一下配置文件 filebeat.yml,

1. 导入数据


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

2VFBBR4JY[BR$0P[XF$E2MH.png

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

MKGTW)2X2[QULF8~Y~54Q{R.png

然后修改输出设置,将数据输出到 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 情况:

1[6678}{]_1V6A$JVRV9(`B.png


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 ,这条命令还可以加上一些其他的条件,例如:


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,今天就暂时介绍这么多了,后面再继续写。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
2月前
|
存储 自然语言处理 算法
面试题ES问题之Solr和Elasticsearch功能实现如何解决
面试题ES问题之Solr和Elasticsearch功能实现如何解决
46 2
|
4月前
|
Oracle 关系型数据库 API
实时计算 Flink版产品使用合集之当sink到elasticsearch时,可以指定es的指定字段吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
实时计算 Flink版产品使用合集之当sink到elasticsearch时,可以指定es的指定字段吗
|
15天前
|
JSON 自然语言处理 数据库
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
概念、ik分词器、倒排索引、索引和文档的增删改查、RestClient对索引和文档的增删改查
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
|
4月前
|
SQL JSON API
ELK技术栈 - Elasticsearch 学习笔记(三)
ELK技术栈 - Elasticsearch 学习笔记(三)
78 0
|
4月前
Elasticsearch【问题记录 02】【不能以root运行es + max virtual memory areas vm.max_map_count [65530] is too low处理】
【4月更文挑战第12天】Elasticsearch【问题记录 02】【不能以root运行es + max virtual memory areas vm.max_map_count [65530] is too low处理】
46 3
|
2月前
|
负载均衡 监控 搜索推荐
面试题ES问题之Solr和Elasticsearch在分布式管理上如何解决
面试题ES问题之Solr和Elasticsearch在分布式管理上如何解决
32 1
|
1月前
|
自然语言处理 Java 索引
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 文档操作
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 文档操作
29 0
|
1月前
|
自然语言处理 Java 索引
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 索引操作
ElasticSearch 实现分词全文检索 - Java SpringBoot ES 索引操作
33 0
|
1月前
|
自然语言处理 Docker 容器
ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
28 0
|
2月前
|
Docker 容器
docker desktop安装es并连接elasticsearch-head:5
以上就是在Docker Desktop上安装Elasticsearch并连接Elasticsearch-head:5的步骤。
101 2