es笔记一之es安装与介绍

这篇具有很好参考价值的文章主要介绍了es笔记一之es安装与介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文首发于公众号:Hunter后端
原文链接:es笔记一之es安装与介绍

首先介绍一下 es,全名为 Elasticsearch,它定义上不是一种数据库,是一种搜索引擎。

我们可以把海量数据都放到 es 里然后提供搜索操作,但是 MySQL 也同样可以提供搜索,为什么要用 es 呢?

一个是因为它搜索快,使用倒排索引的方式将数据分词之后存储数据,查询的时候直接根据搜索关键词找到相关数据。

另一个是因为它可以提供一些 MySQL 做不到或者比较耗时的模糊搜索,这个我们后续再介绍。

1、es 和 kibana 的安装

es 和 kibana 的安装这里可以直接看我之前的一篇博客文章,讲的很详细,或者去官网找相应的安装步骤。

es和kibana安装

这里我们使用的是 7.6.0 版本。

kibana 是一个界面工具,可以用于在浏览器界面直接操作 es。

2、es 层级和结构介绍

首先,我们进入 kibana 界面,创建一条数据,然后根据这条数据来介绍 es 中结构的层级关系。

进入 kibana 的输入界面,输入:

PUT /customer/_doc/1
{
  "name": "John Doe"
}

点击 PUT 命令同行右边的三角形,或者按住 ctrl + enter 确认,我们就完成了一次数据的创建。

然后输入下面的命令查看这条数据的详情:

GET /customer/_doc/1

通过数据的存储和查看,我们可以差不多了解 es 中数据的操作方式是 restful 风格的,可以通过 GET、PUT、POST、DELETE 的方式来实现数据的增删改查。

然后看一下我们通过 GET 方式获得的数据情况,如下:

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "name" : "John Doe"
  }
}

在这个数据结构中,有一些东西是可以和 MySQL 等数据库的结构对应起来的,比如 index 对应 MySQL 中的 database,type 对应 MySQL 中的 table,而 source 中的数据则对应于 MySQL 中一条条的数据。

但是 es 中 source 中的这些字段,比如 name,可以不预先定义,也可以预先定义,这一点不同于 MySQL,es 甚至可以直接写入值,es 会自动为其找到对应的字段属性从而定义。

比如我们前面 PUT 的这条数据,查看 customer 这个数据库 index 的结构,可以看到 es 根据值为其自动创建了属性为 keyword。(es 中字段的各个属性我们后面再介绍)

怎么查看 es 中 index 各个字段的属性呢,比如 customer,如下操作:

GET /customer/_mapping

index 和 type 也一样,如果创建数据的时候不存在,那么 es 也会自动为我们创建相应的层级结构。

3、es 字段介绍

es 中的字段类型挺多的,一般计算机语言有的 es 中也有。

keyword

常用于存储结构化内容,比如email地址,电话号码,名称等等

text

文本类型,常用于保存大段文本,然后可以进行分词搜索等操作

integer

整数

long

浮点型数据

date

日期格式,比如 '2022-01-01 12:00:00'

boolean

布尔型,true/false

数组

es 中没有单独的数组类型,但是当我们确定将某个字段作为数组之后,可以直接将其作为数组使用,但是添加的元素必须是相同的,这个我们后面再介绍。

上面这些字段的含义和使用,这里只是做一个简单的介绍,后面尤其是和 Python 连接使用的时候,我们再对其使用方法做具体详细的介绍。

4、数据准备

在接下来的笔记中,我们将介绍 es 中各种搜索操作,在此之前,我们这里需要手动写入一批数据,具体操作如下。

首先我们去获取一个数据文件,那上面有一批供我们查询使用的数据,这个文件之前在官方文档提供的 github 地址,我去看了下,已经不存在了,所以这里我截取一批数据还是放到名为 accounts.json 文档里,文档等会儿我放在文章末尾,可供拷贝。

我们将这个文件放在某个目录下,然后当前目录执行下面的语句导入到我们在本地启动的 es 中:

curl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_bulk?pretty&refresh" --data-binary "@accounts.json"

然后进入 kibana,查看所有数据库,可以看到已经多了一个名为 bank 的数据库:

GET /_cat/indices

这是 json 文件的地址:accounts.json

下一篇笔记我们开始介绍 es 的搜索。

如果想获取更多后端相关文章,可扫码关注阅读:
es笔记一之es安装与介绍文章来源地址https://www.toymoban.com/news/detail-449619.html

到了这里,关于es笔记一之es安装与介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【学习笔记】 科目一之概念篇

    概念题方法 1)抓重点:科目一设计知识范围太广,不要妄想所有知识点都复习到,这是不可能的,我们的目标是45分几个而不是考高分,复习时间有限,所以要学会抓重点,比如法律条文之类,内容虽多,但常考点就那么几个,把历年常考的重点知识点复习扎实,足够你通过

    2024年02月11日
    浏览(65)
  • Python笔记一之excel的读取

    本文首发于公众号:Hunter后端 原文链接:Python笔记一之excel的读取 这里我常用的 python 对于 excel 的读取库有两个,一个是 xlsxwriter 用于操作 excel 的写入,一个是 xlrd 用于 excel 文件的读取。 使用的库的版本如下: xlsx==1.2.6 xlrd==1.1.0 新建一个 excel 添加一个 sheet: sheet 表格数据

    2024年02月04日
    浏览(42)
  • Django笔记三十一之全局异常处理

    本文首发于公众号:Hunter后端 原文链接:Django笔记三十一之全局异常处理 这一篇笔记介绍 Django 的全局异常处理。 当我们在处理一个 request 请求时,会尽可能的对接口数据的格式,内部调用的函数做一些异常处理,但可能还是会有一些意想不到的漏网之鱼,造成程序的异常

    2023年04月26日
    浏览(43)
  • Redis数据结构一之对象的介绍及各版本对应实现

    本文首发于公众号:Hunter后端 原文链接:Redis数据结构一之对象的介绍及各版本对应实现 本篇笔记开始介绍 Redis 数据结构的底层实现。 当我们被问到 Redis 中有什么数据结构,或者说数据类型,我们可能会说有字符串、列表、哈希、集合、有序集合。 其实这几种数据类型在

    2024年02月04日
    浏览(40)
  • Angular学习笔记一之项目构建与模块创建

    Angular是三大框架之一,是最早开始出现并流行的框架。它是使用HTML、CSS、TypeScript编写的一个重量级框架,为大型应用开发而设计。使用Angular开发出来的客户端应用是高度模块化的。Angular提供了cli工具,组件和模块都可以使用cli工具提供的命令行来创建。Angular对于状态管理

    2024年02月07日
    浏览(41)
  • 【ES】笔记-集合介绍与API

    集合是一种不允许值重复的顺序数据结构。 通过集合我们可以进行并集、交集、差集等数学运算, 还会更深入的理解如何使用 ECMAScript 2015(ES2015)原生的 Set 类。 集合是由一组无序且 唯一 (即不能重复)的项组成的。该数据结构使用了与有限集合相同的数学概念,但应用在计算

    2024年02月10日
    浏览(31)
  • Django笔记二十一之使用原生SQL查询数据库

    本文首发于公众号:Hunter后端 原文链接:Django笔记二十一之使用原生SQL查询数据库 Django 提供了两种方式来执行原生 SQL 代码。 一种是使用 raw() 函数,一种是 使用 connection.cursor()。 但是官方还是推荐在使用原生 SQL 之前,尽量的先去探索一下 QuerySet 提供的各种 API。 目前而言

    2023年04月10日
    浏览(58)
  • es笔记三之term,match,match_phrase 等查询方法介绍

    本文首发于公众号:Hunter后端 原文链接:es笔记三之term,match,match_phrase 等查询方法介绍 首先介绍一下在 es 里有两种存储字符串的字段类型,一个是 keyword,一个是 text。 keyword 在存储数据的时候是作为一个整体存储的,不会对其进行分词处理 text 存储数据的时候会对字符串

    2024年02月05日
    浏览(51)
  • es8.8 集群安装笔记

    本次安装使用centos8 3节点安装: 192.168.182.142 192.168.182.143 192.168.182.144 官网 可以查看详细的安装,安装步骤比较简单 https://www.elastic.co/guide/en/elasticsearch/reference/8.8/rpm.html#rpm-repo 访问需要用https https://127.0.0.1:9200/ 默认用户 elastic 密码就是安装的时候打印到屏幕上的密码 8.8 使用

    2024年02月13日
    浏览(43)
  • 本文通过实例介绍了Redis的基础知识、数据类型、数据结构以及典型应用场景 值得一看!

    作者:禅与计算机程序设计艺术 2017年,Redis是基于MIT许可发布的一个开源的高性能键值数据库,其开发语言为C语言。它提供了多种数据类型(strings、hashes、lists、sets、sorted sets等),分布式支持(可横向扩展),内存存储,持久化功能,事务处理功能等。作为一种高性能的

    2024年02月06日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包