elasticsearch2.3.5的安装和基本操作

Java api操作elasticsearch2.3.5

前言

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便

一、elasticsearch是什么?

Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档,用JSON作为文档序列化的格式,比如下面这条用户数据:

{
“_index”: “archive”,
“_type”: “content”,
“_id”: “7c7fc711-545d-4e6d-8639-eecf461559f4”,
“_score”: 1.0,
“_source”: {
“cId”: “f436294a-d1bf-40ed-9203-ecdd70b8fec0”,
“infoId”: “7c7fc711-545d-4e6d-8639-eecf461559f4”,
“busiOrgId”: “d12c4e18-e448-4c0d-be31-f6bb6a2464a4”,
“busiUserId”: “dc12928c-b6cf-418d-b74f-9d1ee9d04895”,
“archiveClass”: “0”,
“busiUserName”: “张艳南”,
“distributionRange”: “市师级”,
“archiveNumber”: null,
“infoState”: “0”,
“boxId”: null,
“archiveState”: null,
“boxYear”: null,
“saveYearLimit”: null,
“createTime”: “2021-01-06”,
“isDel”: “0”,
“referenceNumber”: “阿萨德〔2021〕1”,
“personLiable”: “张三”,
“fnsortTable”: “2020-01-06”,
“title”: “太阳热腾腾”,
“files”: null,
“filingTime”: null,
“boxNumber”: null,
“securityState”: “1c3cc330-7325-4662-a491-5cf3e37e956a”,
“pageNumber”: “1”,
“busiOrgName”: “办文处”, }

对于以上的数据,在关系型数据库中比如oracle,mysql,索引index相当于关系型数据库中的数据库名,类型type相当于表名,有如下的对应关系:

在这里插入图片描述

二、使用步骤以及基本操作

1.下载elsticsearch

官网地址:ElasticSearch官网地址

华为的镜像地址:华为镜像地址
在这里插入图片描述
有各个版本的下载信息,本次由于我负责的项目比较古老,综合考虑项目的实际情况以及代码的改动量,选择2.3.5的版本,并且成功的搭了起来。

下载之后解压到自己的目录,如果是windows系统,直接双击bin目录下的elasticsearch.bat即可。

2.基本操作

本次使用postman进行一些简单的ElasticSearch的相关操作(示例):

1.建立索引

在这里插入图片描述

{
“acknowledged”: true
}
表示创建成功

2.查询索引

这里我们可以使用相应的get请求要检验索引是否创建成功,如果出现如下图般的显示就表示已经建立了test_index索引:
在这里插入图片描述

3.向索引中插入数据

在这里插入图片描述向索引中插入数据都是用PUT请求,其中url中test就表示这个test_index索引的类型,相当于oracle中的表名,1表示这条数据的id,当然也可以自定义插入数据的格式和字段名(这点会在下一篇博文中讲到)。然后按照json格式,将数据发送到elasticsearch,如果返回如如图所示,表示数据插入成功。

4.查询数据

在这里插入图片描述

  • 查询数据一般都是GET请求,返回结果中的source就是我们之前插入的数据,version表示版本号,versioning是由elasticsearch在0.15版本引入的新特性”乐观并发控制“引申出来的,只介绍了每个document都会有个由系统控制自增的_version属性。
  • 对于index中的每条记录都会有一个_version的属性,其取值范围为:[1,2^63),插入数据时默认的_version都是1,每次对这个document进行修改或删除操作都会使其+1,这个过程是由ES自己控制的。
  • [ ]就好像这时候两个账户同时要从我账户里扣100块钱,结果就是两家同时取到我账户余额为100,各扣了100并把0的余额写入ES,这显然是错的,_version机制可以在更新请求后开始进行冲突检测,如果在这期间数据发生了改变,那么直接返回一个http的409 conflict错误。

总结

本次主要是对Elasticsearch 的基本安装和基本操作进行了简要的阐述,下一节会持续更新Kibana以及Elastic-search-head以及java-api对Es的基本操作。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉霍拉卡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值