
Elastic Search
文章平均质量分 66
丑过三八线
09年毕业参加工作, 大龄返校读研,重新开始。
展开
-
【ElasticSearch教程】--- Elasticsearch Linux单机安装(二十二)
Linux单机安装在实践中,一般都采用Linux/Unix作为elastic search的运行服务器,所以下面演示如何在Linux环境中安装Elastic search。本文讲解单机在Linux服务器上如何不部署。文件准备首先从官网直接下载Linux版本的,我们用的是7.8.0版本的,下载地址为:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-8-0。你可以选择对应的版本。把我们准备好的文件直接上传到linux服原创 2022-05-20 23:16:51 · 794 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch Windows 集群部署(二十一)
Windows 集群安装在实践中ES服务为了高可用,一般读会采用集群的方式进行部署。下面在windows环境中测试集权部署,其实ES是java编写的也是可以跨平台运行。所以在Linux中部署也是类似的。基本环境准备首先创建一个elasticsearch-cluster文件夹,在文件夹中复制3个es服务。分别为node-9201,node-9202,node-9201.如下图:配置节点9201首先修改node-9201节点配置文件config/elasticsearch.yml配置文件。配置原创 2022-05-19 22:00:40 · 1037 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch JavaApi 文档查询操作(二十)
Elasticsearch JavaApi 文档查询操作在前面的restful api测试的过程中,我们使用的大量的参数提交的方式进行文档的查询操作。例如:全量查询,分页查询,模糊查询等等。 那java api其实也是提供了对应的查询操作功能的。全量查询全量查询就是不提交任何的查询条件直接将ES上有的文档数据一次性的查询出来。查询的核心是要构造一个org.elasticsearch.action.search.SearchRequest;对象,并且使用client.search()方法即可查询。下面是原创 2022-05-15 21:47:12 · 2165 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch JavaApi 文档批量操作(十九)
Elasticsearch JavaApi 文档批量操作在实际的工程项目中,数据批量操作的需求是比较强烈的,所以ES的API也提供了这样的应用场景。下面将演示如何进行批量的文档增加,文档删除操作。文档批量增加在ES中批量的操需要使用到一个请求对象就是BulkRequest,然后将要做的请求集合添加到BulkRequest中,最后使用bulk方法发送批量请求。 批量添加文档的步骤如下定义要链接主机的信息,这里使用org.apache.http.HttpHost对象。构建RestClientBuil原创 2022-05-15 13:03:32 · 1805 阅读 · 1 评论 -
【ElasticSearch教程】--- Elasticsearch JavaApi 文档增删改查操作(十八)
JavaApi 文档增删改查操作索引创建成功之后就可以进行文档的操作了,下面一次对文档进行增删改查了。新增文档新增文档操作的步骤如下:定义要链接主机的信息,这里使用org.apache.http.HttpHost对象。构建RestClientBuilder,该对象由RestClient.builder(host);构建。建立与ES服务器链接的客户端对象RestHighLevelClient, 直接创建即可。构建创建文档的请求对象,需要注意的是虽然是创建文档,但是依然用的是IndexReque原创 2022-05-14 13:48:47 · 1239 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch JavaApi 索引操作(十七)
JavaApi 索引操作与RESTful api类似, java api 是采用代码的形式操作索引,也有相同的索引增、改、查操作。下面我们对api 一一进行测试。创建索引步骤:创建HttpHost对象,该对象主要用于链接ES服务器的描述,包含了, host, port, schema。创建RestClientBuilder对象,该对象由RestClient对象的静态方法build创建,需要带入HttpHost。集群应该还可以带入多个HttpHost。创建关键对象RestHighLevelCli原创 2022-05-11 07:22:53 · 794 阅读 · 0 评论 -
【ElasticSearch教程】--- 开篇(一)
开篇ElasticSearch 可伸缩,灵活查询。根据数据格式分类结构化数据结构化数据我们一般用特定的结构来组织和管理数据, 一般表现为二维的表结构。数据的信息是有关系的,比如用户信息中的姓名、年龄、性别等,我们一般把这样的数据保存到关系型数据库中。比如Mysql、Oracle、MSSQL、Postgres等数据库。可以通过SQL语句来进行查询,为了提高效率我们可以通过一些索引等技术优化查询。优点:方便管理。方便查询。缺点:结构难以扩展非结构化数据所谓的非结构化数据就是无法二维原创 2022-05-08 09:31:50 · 287 阅读 · 0 评论 -
【ElasticSearch教程】---Elasticsearch安装(二)
Elasticsearch安装下载软件Elasticserach的官网地址:https://www.elastic.co/cnElasticserach最新的版本已经是8.2.0(截止2022.5.8),我们选择的版本为7.8.0。在以下地址中可以选择要下载的版本:https://www.elastic.co/cn/downloads/past-releases#elasticsearch为了学习使用这里选择简便的Windows版本。安装下载完之后直接解压即可。解压后的文件目录如下:bin原创 2022-05-08 10:11:35 · 472 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch倒排序(三)
倒排序数据格式Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档。为了方便大家理解,我们将Elasticsearch里存储文档数据和关系型数据库Mysql存储数据的概念进行一个类比Eslsticsearchindex(索引)Type(类型)Document(文档)Fields(字段)MysqlDatabase(数据库)Table(表)Row(行)Column(列)ES里面的Index可以看做一个库,而Types相当于表,Documents则原创 2022-05-08 11:02:33 · 1772 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch索引操作(四)
Elasticsearch索引操作ES对外暴露了RESTfulAPI,所以可以通过http方式发起对Elasticsearch的操作,我采用的是Postman这个HTTP客户端工具进行的。创建索引对比关系型数据库,创建索引就等同于创建数据库。在Postman中向ES服务器发送PUT请求请求地址:http://127.0.0.1:9200/shopping. 其中http://127.0.0.1:9200/是ES的地址,而后面的shopping就是要创建的索引index。响应的内容{ "a原创 2022-05-08 13:25:24 · 495 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch文档操作(五)
Elasticsearch文档操作创建文档索引已经创建好之后就可以继续创建文档,并添加数据。 这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为JSON格式。在Postman中,向ES服务器发POST请求: http://127.0.0.1:9200/shopping/_doc请求体内容为:{ "title":"水星家纺 60S长绒棉贡缎床上四件套 酒店高档纯棉床单被套枕套 被罩被单1.8米床乔伊斯玫瑰(海蓝色/抗菌)", "category":"床上用品","image":"ht原创 2022-05-08 17:44:30 · 560 阅读 · 0 评论 -
【ElasticSearch教程】--- 文档查询(六)
文档查询主键查询从前面的操作来看,其实可以很好的猜想根据主键查询的url地址一个和主键添加文档的URL地址一样,只是请求的方法得使用GET请求。例如查询1001的文档,URL地址:http://127.0.0.1:9200/shopping/_doc/1001返回的结果为:{ "_index": "shopping", "_type": "_doc", "_id": "1001", "_version": 1, "_seq_no": 1, "_pri原创 2022-05-08 18:36:52 · 695 阅读 · 1 评论 -
【ElasticSearch教程】--- Elasticsearch文档修改(七)
文档修改当文档数据被创建之后如果想对文档进行修改,这样的操作在ES中是被允许的。但是在ES中修改是分为两种情况的,一种是完全覆盖式的修改,也叫全量修改。另外一种是局部性的修改。全量修改全量修改的情况下,无论发送多少次请求,数据都是会被完全覆盖的。所以这样的操作其实是幂等性的。所以可以采用PUT进行操作. 地址跟主键查询和自定义主键修改是类似的。URL:http://127.0.0.1:9002/shopping/_doc/1001,其中_doc表示文档数据。1001就是文档主键。http请求的原创 2022-05-08 19:13:36 · 1568 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch文档删除(八)
文档删除文档创建之后删除也是我们对数据管理的一些常规操作。与前面的操作类似,删除操作是,http请求的方式需要使用delete操作.资源地址是一样的。比如我们要删除id为6m6EooAB7B_-m9JH0tpA的文档,URL地址为:http://127.0.0.1:9200/shopping/doc/6m6EooAB7B-m9JH0tpA响应内容:{ "_index": "shopping", "_type": "_doc", "_id": "6m6EooAB7B_-m9JH原创 2022-05-08 19:28:49 · 1665 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch文档条件查询(九)
文档条件查询在前面我们讲过对文档的查询,但是仅用了id和全查的方式, 这样的查询在实践中往往不能够满足多样化的检索需求。根据条件检索是非常必须的。条件查询的URL地址格式为http://127.0.0.1:9200/shopping/_search/q=查询条件.例如我们希望直接查询品类为床上用品的所有数据. URL地址为:http://127.0.0.1:9200/shopping/_search?q=category:床上用品. 查询的请求方式为GET。发起请求如下图:响应结果:{ "原创 2022-05-08 20:45:40 · 867 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch文档分页查询(十)
文档分页查询在实践中分页查询对于前段展示,性能等问题来说都是刚需。分页的方式其实就是在条件查询的内容体中加入分页数据。在body体中添加两个关键字段:from:起始的下标值,从0开始。size: 一页的数量请求body:{ "query":{ "match": { "category":"床上用品" } }, "from":1, "size":1}因为使用的是size =1,所以只返回匹配的一条数原创 2022-05-08 21:06:38 · 599 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch查询排序(十一)
查询排序根据文档的部分字段信息排序。在查询条件中加入字段:sort,例如通过价格排序:{ "query":{ "match_all": { } }, "sort":{ "price":{ "order":"asc" } }}请求操作其中排序字段下可以指定排序的类型,递增、递减。asc: 递增排序desc:递减排序...原创 2022-05-09 06:39:20 · 635 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch文档多条件查询(十二)
多条件查询同时满足must查询的body体的查询不能在使用match关键字了,而需要使用,bool然后要多个条件同时成立,接下来要填入must,多个条件用数组。body样例如下:{ "query":{ "bool": { "must":[ { "match":{ "category":"床上用品"原创 2022-05-09 06:39:56 · 4945 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch文档全文检索(十三)
文档全文检索在上面的操作中如果我们将查询的其实里面底层的操作是采用全文检索的方式实现的,下面我们可以一个测试。我们也查category字段,目前在我们的文档库中包含两个category , 一个是床上用品,另一个是3c数码。那我们就查询category=床上数码。这样的话,如果是传统的关系型数据库应该是无法查询到结果的。那我们的请求体内容就应该是:{ "query":{ "match": { "category":"床上数码" }原创 2022-05-09 07:26:23 · 792 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch JavaApi环境准备(十六)
Java API 环境准备ES本身是由Java语言开发的,他也为我们提供了Java API调用的接口。这在实践中也是比较常用的。接下来我们用maven工程来来管理我们的测试项目。maven依赖如下:<properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target&g原创 2022-05-10 07:28:34 · 680 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch文档聚合查询(十四)
聚合查询对查询的结果进行统计,分组等操作的时候就需要用的聚合操作, 聚合操作需要用到聚合操作对应的参数。参数字段名叫:aggs。分组统计(terms){ "aggs": { // 聚合操作 "category_group":{ // 名称,随意取名 "terms":{ "field":"price" } } }}返回内容{ "took": 2, "t原创 2022-05-09 21:46:38 · 620 阅读 · 0 评论 -
【ElasticSearch教程】--- Elasticsearch文档映射关系(十五)
映射关系(mapping)类比关系型数据库,我们在插入数据之前我们需要首先去创建表结构, 而我们以上对文档的操作却一路没有进行结构的创建,其实在ES中确实可以不创建类似于表结构的东西,但是他也是可以创建表结构的。在ES中这个表结构叫着映射。它主要的作用就是用于定义字段是否被分词和被检索。测试准备工作为了更好的实现我们首先创建一个新的索引student.创建映射关系创建新索引之后我们再新索引上建立映射关系。建立映射关系同样要使用PUT请求,请求的URL地址:http://127.0.0.1:92原创 2022-05-09 22:51:49 · 1028 阅读 · 0 评论