ElasticSerach的简单创建和高亮查询

本文介绍了ElasticSearch的基本概念、下载安装、运行及数据操作。重点讲解了如何使用SpringBoot连接ElasticSearch并实现高亮查询,包括创建索引、增删查改数据的操作,并给出了具体步骤和代码示例。
摘要由CSDN通过智能技术生成

ElasticSerach

特点:

​ 高可用 :是指通过设计减少系统不能提供服务的时间,通常的方式为在一个服务器宕机时,我们会自动使用备份服务器进行服务,以保证我们的服务不会停止

​ 水平扩展 :在es中,当存在大量的复杂查询或者聚合查询时,我们可以通过增加节点的数量,以增加我们查询的性能,我们可以土狗在ElasticSerach中的conf文件下的elasticserach.yml文件下配置ip地址,在其他服务器下复制此文件即可实现水平扩展,即增加了节点

​ 分片:es在集群的环境下时,对于一个查询或者其他请求,它会将此请求发送给每一个服务器,每一个服务器都会进行索引,并一起将数据返回,如何通过权重进行输出

​ EST full :es中通过接口的不同提交方式实现对于文档或者索引的增删查改

1.概念

ElasticSerach是apache下的一个开源搜索引擎,他是基于lucene开发的搜索服务器,他通过自身的水平扩展和分片,使得他能够处理大批量的数据,并且搜索能够实时稳定和高效。他没有自身的搜索可视化页面,我们通过使用Rest(在地址栏输入url的方式)可以对elasticSerach进行数据的各种修改

ES的核心为==水平扩展,分片与副本分片==

elasticsearch用于构建高可用和可扩展的系统。

2.使用

2.1、下载

通过https://mirrors.huaweicloud.com/elasticsearch/ 下载es

2.2、安装

解压压缩包即可

2.3、介绍

目录介绍 打开解压后的文件夹

bin–存放es的可执行文件 启动es的方式为运行它的elscitserach.bat文件 启动cmd窗口执行文件

config–存放es中的配置文件

​ --elasticSerach.yml elasticSerach的配置文件 该文件可以使es集群和水平扩展

​ --jvm.options 这时java虚拟机的配置文件 可以通过这个配置文件分配es的内存等

​ --log4j2.properties 存放es中的日志文件的配置

lib–存放es中的jar包

logs–存放日志文件

modules–模块

plugins–插件 存放ik分词器等

2.4、运行

在es目录下找到bin文件,双击运行es的elasticSerach.bat文件,前往浏览器或者RESTer

中输入es中的地址 127.0.0.1:9200 显示如下json

{
   
    "name": "DESKTOP-FHMFD6I",
    "cluster_name": "elasticsearch",
    "cluster_uuid": "Q9CcTHOsSrG55_0tSKV-4A",
    "version": {
   
        "number": "7.3.2",
        "build_flavor": "default",
        "build_type": "zip",
        "build_hash": "1c1faf1",
        "build_date": "2019-09-06T14:40:30.409026Z",
        "build_snapshot": false,
        "lucene_version": "8.1.0",
        "minimum_wire_compatibility_version": "6.8.0",
        "minimum_index_compatibility_version": "6.0.0-beta1"
    },
    "tagline": "You Know, for Search"
}

代表已经运行成功es了!

2.4.1 es的数据

es中的数据与数据库数据的对应关系

数据库 ES
数据库(database) 索引(index)
表(table) 类型(type)
行(row) 文档(document)
列(column) 字段(field)
表结构(schema) 映射(mapping)
索引 反向索引
SQL 查询DSL

提示:在ES 6.X版本之后,es取消了单索引多类型的写法,因为在传统sql数据库中,各个“table"之间相互独立,在一个表中的列都与另外一个表中的相同名称的列无关,而在elasticSerach中的同一个index下,同名的字段类型必须相同,即使是他们不在一个type下。

2.4.2es的CRUD

注:由于es使用的是RST full的方式进行的增删查改,建议使用Postman软件进行提交url

不同的请求方式对于es来说对应不同的使用方法

GET 请求 : 获取es中的数据

POST 请求:修改es中的数据

PUT 请求:添加es中的数据

DELETE 请求:删除es中的数据

创建索引

创建索引语法:http://{ip}:{port}/{索引名称} 使用put方式提交url地址

示例:127.0.0.1:9200/student

在本地的es主机上创建一个student索引

查询索引

http://{ip}:{port}/_cat/indices?v 使用get方式提交url地址

添加\修改\获取\删除数据

添加数据语法:http://{ip}:{port}/{index}/{type}/{数字id} 使用put提交 并且需要在body下添加json字符串

示例:127.0.0.1:9200/student/stu/1

结果

{
    
 "_index": "student",
 "_type": "stu",
 "_id": "1",
 "_version": 1,
 "result": "created",
 "_shards": {
    
     "total": 2,
     "successful": 1,
     "failed": 0
 },
 "_seq_no": 6,
 "_primary_term": 1
}

修改数据语法:http://{ip}:{port}/{index}/{type}/{数字id} 使用post提交 并且需要在body下添加json字符串

{
    
"_index": "student",
"_type": "stu",
"_id": "1",
"_version": 4,
"result": "updated",
"_shards": {
    
  "total": 2,
  "successful": 1,
  "failed": 0
},
"_seq_no": 3,
"_primary_term": 1
}

获取数据语法:http://{ip}:{port}/{index}/{type}/{数字id} 使用get提交

{
    
 "_index": "student",
 "_type": "stu",
 "_id": "1",
 "_version": 1,
 "_seq_no": 6,
 "_primary_term": 1,
 "found": true,
 "_source": {
    
     "name": "小明",
     "age"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值