ElasticSearch(7.2.2)
cwl_java
这个作者很懒,什么都没留下…
展开
-
ElasticSearch(7.2.2)-浅谈es的分词原理
简介:谈谈elasticsearch的分词原理前⾔⼀我们创建⼀个⽂档PUT test/_doc/1 { "msg":"乔丹是篮球之神" }我们通过’乔丹’这个关键词来搜索这个⽂档POST /test/_search{ "query": { "match": { "msg": "乔丹" } }}我们发现能匹配⽂档出来,那整⼀个过程的原理是怎样的...原创 2019-11-01 20:59:39 · 3923 阅读 · 1 评论 -
ElasticSearch(7.2.2)-倒排索引
简介:带你分析倒排索引的原理我们打开NBA中国官⽹,搜索james得到以下结果假设⽂档集合如下图所示我们是怎么通过james查找到名字带有james的球员呢?如果按照这个图,我们是不是得把这5个⽂档遍历⼀遍,把⽂档带有james的球员查找出来?如果按照这种顺序扫描,那每次输⼊不同的关键字,岂不是要从头到尾遍历⼀遍?假设⽂档集合如下图所示我们把这个5个球员的名字进⾏分词...原创 2019-11-01 20:27:00 · 372 阅读 · 0 评论 -
ElasticSearch(7.2.2)-剖析es的乐观锁
简介:剖析elastic search的乐观锁锁的简单分类悲观锁顾名思义,就是很悲观,每次去拿数据的时候都认为别⼈会修改,所以每次在拿数据的时候都会上锁,这样别⼈想拿这个数据就会阻塞,直到它拿到锁。传统的关系型数据库⾥边就⽤到了很多这种锁机制,⽐如⾏锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁顾名思义,就是很乐观,每次去拿数据的时候都认为别⼈不会修改,所以不会上锁,但是...原创 2019-11-01 20:18:56 · 738 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es⽂档的路由原理
简介:当新增⼀个⽂档时,这个⽂档会存放在那个分⽚中呢?前⾔当新增⼀个⽂档的时候,⽂档会被存储到⼀个主分⽚中。 Elasticsearch 如何知道⼀个⽂档应该存放到哪个分⽚中呢?当我们创建⽂档时,它如何决定这个⽂档应当被存储在分⽚ 1 还是分⽚ 2 中呢?路由算法⾸先这肯定不会是随机的,否则将来要获取⽂档的时候我们就不知道从何处寻找了。实际上,这个过程是根据下⾯这个公式决定的:...原创 2019-11-01 15:49:49 · 347 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es分布式⼯作原理
简介:带你剖析elastic search分布式⼯作原理前⾔Elasticsearch 是分布式的,但是对于我们开发者来说并未过多的参与其中,我们只需启动对应数量的节点,并给它们分配相同的 cluster.name 让它们归属于同⼀个集群,创建索引的时候只需指定索引主分⽚数和 副分⽚数 即可,其他的都交给了 ES 内部⾃⼰去实现。这和数据库的分布式和 同源的 solr 实现分布式都是有...原创 2019-11-01 11:54:26 · 454 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es集群健康管理
简介:查看es集群健康的⼏种⽅式查看集群的健康状态http://127.0.0.1:9200/_cat/health?vURL返回了集群的健康信息。返回信息status :集群的状态,red红表示集群不可⽤,有故障。yellow⻩表示集群不可靠但可⽤,⼀般单节点时就是此状态。green正常状态,表示集群⼀切正常。node.total :节点数,这⾥是3,表示该集群有三个节点...原创 2019-11-01 11:22:56 · 486 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es集群索引分⽚管理
简介:⼿把⼿教你索引分⽚管理介绍分⽚(shard):因为ES是个分布式的搜索引擎, 所以索引通常都会分解成不同部分, ⽽这些分布在不同节点的数据就是分⽚. ES⾃动管理和组织分⽚, 并在必要的时候对分⽚数据进⾏再平衡分配, 所以⽤户基本上不⽤担⼼分⽚的处理细节。副本(replica):ES默认为⼀个索引创建1个主分⽚, 并分别为其创建⼀个副本分⽚. 也就是说每个索引都由1个主分⽚成本,...原创 2019-10-31 18:31:55 · 446 阅读 · 0 评论 -
ElasticSearch(7.2.2)-搭建es集群
简介:通过实践,教你怎么搭建es集群搭建步骤拷⻉elasticsearch-7.2.0安装包3份,分别命名elasticsearch-7.2.0-a, elasticsearch-7.2.0-b,elasticsearch-7.2.0-c。分别修改elasticsearch.yml⽂件。分别启动a ,b ,c 三个节点。打开浏览器输⼊:http://localhost:9200/_...原创 2019-10-31 10:44:19 · 747 阅读 · 0 评论 -
ElasticSearch(7.2.2)- es集群的基本核⼼概念
简介:学习集群,得先了解集群它的基本核⼼概念Cluster 集群⼀个 Elasticsearch 集群由⼀个或多个节点(Node)组成,每个集群都有⼀个共同的集群名称作为标识。Node节点⼀个 Elasticsearch 实例即⼀个 Node,⼀台机器可以有多个实例,正常使⽤下每个实例应该会部署在不同的机器上。Elasticsearch 的配置⽂件中可以通过 node.maste...原创 2019-10-31 10:34:05 · 355 阅读 · 0 评论 -
ElasticSearch(7.2.2)-⾛⼊⾼可⽤分布式集群世界
简介:elasticsearch为什么要集群?集群有什么作⽤⾼可⽤⾼可⽤(High Availability) 是分布式系统架构设计中必须考虑的因素之⼀,它通常是指,通过设计减少系统不能提供服务的时间。如果系统每运⾏100个时间单位,会有1个时间单位⽆法提供服务,我们说系统的可⽤性是99%。负载均衡将流量均衡的分布在不同的节点上,每个节点都可以处理⼀部分负载,并且可以在节点之间动态分...原创 2019-10-31 09:33:23 · 314 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es之查询建议
简介:查询建议查询建议查询建议,是为了给⽤户提供更好的搜索体验。包括:词条检查,⾃动补全。词条检查自动补全SuggesterTerm suggesterPhrase suggesterCompletion suggester字段Term suggesterterm 词条建议器,对给输⼊的⽂本进⾏分词,为每个分词提供词项建议POST /nba_lates...原创 2019-10-30 14:08:37 · 852 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es之⾼亮查询
简介:es之⾼亮查询前言如果返回的结果集中很多符合条件的结果,那怎么能⼀眼就能看到我们想要的那个结果呢?例如当搜索我的名字时,返回的结果集当中包含我的名字的结果就会有高亮显示⾼亮查询POST /nba_latest/_search{ "query": { "match": { "displayNameEn": "james" } }, "highlight": ...原创 2019-10-30 11:57:06 · 336 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es之refresh操作
简介:es之refresh操作理想的搜索:新的数据⼀添加到索引中⽴⻢就能搜索到,但是真实情况不是这样的。我们使⽤链式命令请求,先添加⼀个⽂档,再⽴刻搜索curl -X PUT localhost:9200/star/_doc/888 -H 'Content-Type:application/json' -d '{ "displayName": "蔡徐坤" }'curl -X G...原创 2019-10-30 11:15:07 · 1740 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es之如何重建索引
简介:⼿把⼿教你es之如何重建索引背景Elasticsearch是⼀个实时的分布式搜索引擎,为⽤户提供搜索服务,当我们决定存储某种数据时,在创建索引的时候需要将数据结构完整确定下来,于此同时索引的设定和很多固定配置将不能改变。当需要改变数据结构时,就需要重新建⽴索引,为此,Elastic团队提供了很多辅助⼯具帮助开发⼈员进⾏重建索引。步骤nba取⼀个别名nba_latest, nba...原创 2019-10-30 10:52:37 · 1409 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es之索引别名的使⽤
简介:es之索引别名的使⽤别名有什么⽤在开发中,随着业务需求的迭代,较⽼的业务逻辑就要⾯临更新甚⾄是重构,⽽对于es来说,为了适应新的业务逻辑,可能就要对原有的索引做⼀些修改,⽐如对某些字段做调整,甚⾄是重建索引。⽽做这些操作的时候,可能会对业务造成影响,甚⾄是停机调整等问题。由此,es提供了索引别名来解决这些问题。 索引别名就像⼀个快捷⽅式或是软连接,可以指向⼀个或多个索引,也可以给任...原创 2019-10-30 10:42:47 · 786 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es之query_string查询
简介:⼿把⼿教你es之query_string查询介绍query_string 查询,如果熟悉lucene的查询语法,我们可以直接⽤lucene查询语法写⼀个查询串进⾏查询,ES中接到请求后,通过查询解析器,解析查询串⽣成对应的查询。指定单个字段查询POST /nba/_search{ "query": { "query_string": { "default_fie...原创 2019-10-30 10:12:04 · 4508 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es聚合查询之桶聚合
简介:⼿把⼿玩转es的聚合查询之桶聚合ES聚合分析聚合分析是数据库中重要的功能特性,完成对⼀个查询的数据集中数据的聚合计算,如:找出某字段(或计算表达式的结果)的最⼤值、最⼩值,计算和、平均值等。ES作为搜索引擎兼数据库,同样提供了强⼤的聚合分析能⼒。对⼀个数据集求最⼤、最⼩、和、平均值等指标的聚合,在ES中称为指标聚合关系型数据库中除了有聚合函数外,还可以对查询出的数据进⾏分组gr...原创 2019-10-30 09:48:22 · 2570 阅读 · 2 评论 -
ElasticSearch(7.2.2)-es聚合查询之指标聚合
简介:⼿把⼿玩转es的聚合查询之指标聚合ES聚合分析聚合分析是数据库中重要的功能特性,完成对⼀个查询的数据集中数据的聚合计算,如:找出某字段(或计算表达式的结果)的最⼤值、最⼩值,计算和、平均值等。ES作为搜索引擎兼数据库,同样提供了强⼤的聚合分析能⼒。对⼀个数据集求最⼤、最⼩、和、平均值等指标的聚合,在ES中称为指标聚合⽽关系型数据库中除了有聚合函数外,还可以对查询出的数据进⾏分组...原创 2019-10-29 17:52:36 · 1460 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es的排序查询
简介:⼿把⼿带你玩转es的排序⽕箭队中按打球时间从⼤到⼩排序的球员POST nba/_search{ "query": { "match": { "teamNameEn": "Rockets" } }, "sort": [{ "playYear": { "order": "desc" } }]}⽕箭队中按打球时间从⼤到⼩,如果年龄相同则按照身⾼从...原创 2019-10-29 17:42:24 · 1077 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es的布尔查询
简介:⼿把⼿带你玩转es的布尔查询布尔查询must (查找名字叫做James的球员)POST /nba/_search{ "query": { "bool": { "must": [{ "match": { "displayNameEn": "james" } }] } }}效果同must,但是不打分(查找名字叫做James的球...原创 2019-10-29 17:38:44 · 566 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es的范围查询
简介:⼿把⼿带你玩转es的范围查询查找指定字段在指定范围内包含值(⽇期、数字或字符串)的⽂档。查找在nba打了2年到10年以内的球员POST nba/_search{ "query": { "range": { "playYear": { "gte": 2, "lte": 10 } } }}查找1980年到1999年出⽣的球员PO...原创 2019-10-29 17:29:13 · 1658 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es之term的多种查询
简介:⼿把⼿带你玩转es的⼏种查询介绍单词级别查询这些查询通常⽤于结构化的数据,⽐如:number, date, keyword等,⽽不是对text。也就是说,全⽂本查询之前要先对⽂本内容进⾏分词,⽽单词级别的查询直接在相应字段的反向索引中精确查找,单词级别的查询⼀般⽤于数值、⽇期等类型的字段上准备⼯作删除nba索引新增nba索引PUT nba{ "mapping...原创 2019-10-29 17:24:11 · 2349 阅读 · 0 评论 -
ElasticSearch(7.2.2)-es之批量导⼊数据
简介:⼿把⼿交你批量导⼊数据BulkES提供了⼀个叫 bulk 的API 来进⾏批量操作批量导⼊数据{"index": {"_index": "book", "_type": "_doc", "_id": 1}}{"name": "权⼒的游戏"} {"index": {"_index": "book", "_type": "_doc", "_id": 2}}{"name": "...原创 2019-10-29 16:41:10 · 535 阅读 · 0 评论 -
ElasticSearch(7.2.2)-kibana⼯具的安装和使⽤
简介:可视化⼯具kibana的安装和使⽤下载https://www.elastic.co/cn/downloads/kibana选择对应版本启动进⼊到⽂件夹的bin⽬录,执⾏sh kibana访问localhost:5601使⽤进⼊到Dev Tools...原创 2019-10-29 16:34:17 · 323 阅读 · 0 评论 -
ElasticSearch(7.2.2)-常⻅的字段类型
简介:常⻅的字段类型的介绍和使⽤数据类型核⼼数据类型复杂数据类型专⽤数据类型核⼼数据类型字符串text:⽤于全⽂索引,该类型的字段将通过分词器进⾏分词keyword:不分词,只能搜索该字段的完整的值数值型long, integer, short, byte, double, float, half_float, scaled_float布尔 - bool...原创 2019-10-29 16:15:26 · 692 阅读 · 0 评论 -
ElasticSearch(7.2.2)-常⻅中⽂分词器的使⽤
简介:常⻅的中⽂分词器的介绍和使⽤如果⽤默认的分词器standardPOST localhost:9200/_analyze{ "analyzer": "standard", "text": "⽕箭明年总冠军" }常⻅分词器smartCN ⼀个简单的中⽂或中英⽂混合⽂本的分词器IK分词器 更智能更友好的中⽂分词器smartCn安装 sh elastics...原创 2019-10-29 15:57:00 · 319 阅读 · 0 评论 -
ElasticSearch(7.2.2)-分词器的介绍和使⽤
简介:分词器是什么,内置的分词器有哪些什么是分词器将⽤户输⼊的⼀段⽂本,按照⼀定逻辑,分析成多个词语的⼀种⼯具example: The best 3-points shooter is Curry!常用的内置分词器standard analyzersimple analyzerwhitespace analyzerstop analyzerlanguage analyz...原创 2019-10-29 15:42:20 · 460 阅读 · 0 评论 -
ElasticSearch(7.2.2)-搜索的简单使⽤
搜索的简单使⽤准备⼯作删掉nba索引DELETE localhost:9200/nba新建⼀个索引,并且指定mappingPUT localhost:9200/nba{ "mappings": { "properties": { "name": { "type": "text" }, "team_name": { "type"...原创 2019-10-29 15:00:29 · 395 阅读 · 0 评论 -
ElasticSearch(7.2.2)-⽂档的增删改查
简介:⼿把⼿演示⽂档的增删改查新增文档PUT localhost:9200/nba/_doc/1 (指定id){ "name":"哈登", "team_name":"⽕箭", "position":"得分后卫", "play_year":"10", "jerse_no":"13" }{ "_index": "nba", "_type": "_doc", "_i...原创 2019-10-29 14:44:54 · 401 阅读 · 0 评论 -
ElasticSearch(7.2.2)-映射的介绍和使⽤
简介:⼿把⼿教你怎么操作mapping新增请求curl -X PUT "localhost:9200/nba/_mapping" -H 'Content-Type:application/json' -d'{ "properties": { "name": { "type": "text" }, "team_name": { "type": "text"...原创 2019-10-29 14:01:18 · 359 阅读 · 0 评论 -
ElasticSearch(7.2.2)-索引的介绍和使⽤
简介:⼿把⼿进⾏索引的操作新增请求curl -X PUT "localhost:9200/nba"响应{ "acknowledged": true, "shards_acknowledged": true, "index": "nba"}获取/查询请求curl -X GET "localhost:9200/nba"响应{ "nba": { ...原创 2019-10-29 11:31:45 · 369 阅读 · 0 评论 -
ElasticSearch(7.2.2)-RESTful⻛格的介绍
简介:RESTful⻛格的介绍介绍RESTful是⼀种架构的规范与约束、原则,符合这种规范的架构就是RESTful架构。先看REST是什么意思,英⽂Representational state transfer 表述性状态转移,其实就是对资源的表述性状态转移,即通过HTTP动词来实现资源的状态扭转:资源是REST系统的核⼼概念。 所有的设计都是以资源为中⼼elasticsearch...原创 2019-10-29 10:07:36 · 428 阅读 · 0 评论 -
ElasticSearch(7.2.2)-ElasticSearch核⼼概念的介绍
简介:elastic search核⼼概念的介绍,让你对elastic search有个⼤致的了解前⾔我们在学习elastic search的核⼼概念之前,回顾下我们使⽤传统数据库查询数据的时候应该怎么做的?假设我们⽤使⽤mysql数据库存储⼀些数据,我们的操作步骤是怎样的?建⽴数据库->建表->插⼊数据->查询索引(index)⼀个索引可以理解成⼀个关系型数据...原创 2019-10-29 09:56:22 · 370 阅读 · 0 评论 -
ElasticSearch(7.2.2)-elasticsearch之⽬录结构介绍
简介:elasticsearch之⽬录结构介绍macwindows详细介绍原创 2019-10-29 09:16:59 · 333 阅读 · 0 评论 -
ElasticSearch(7.2.2)-elasticsearch的快速安装
简介:⼿把⼿教你快速安装elasticsearch打开官⽹链接 https://www.elastic.co/guide/en/elastic-stack/7.2/index.html选择你要下载的版本点击 installing the Elastic Stack选择第1个选项,install instructions,下载elasticsearch选择你的操作系统ma...原创 2019-10-28 17:53:19 · 385 阅读 · 0 评论 -
ElasticSearch(7.2.2)-常⻅的搜索引擎
简介:常⻅的搜索引擎,Lucene,Solr,ElasticsearchLuceneLucene是⼀个Java全⽂搜索引擎,完全⽤Java编写。Lucene不是⼀个完整的应⽤程序,⽽是⼀个代码库和API,可以很容易地⽤于向应⽤程序添加搜索功能。通过简单的API提供强⼤的功能可扩展的⾼性能索引强⼤,准确,⾼效的搜索算法跨平台解决⽅案Apache软件基⾦会在Apache...原创 2019-10-28 17:42:32 · 358 阅读 · 0 评论 -
ElasticSearch(7.2.2)-为什么不⽤mysql做全⽂搜索
简介:为什么要⽤全⽂搜索引擎,⽽不⽤mysql做全⽂搜索呢前⾔有⼈可能会问,为什么⼀定要⽤搜索引擎呢?我们的所有数据不是都可以放在数据库⾥吗?⽽且 Mysql,Oracle,SQL Server 等数据库⾥不是也能提供查询搜索功能,直接通过数据库查询不就可以了吗?确实,我们⼤部分的查询功能都可以通过数据库查询获得,如果查询效率低下,还可以通过新建数据库索引,优化SQL等⽅式进⾏提...原创 2019-10-28 17:32:12 · 525 阅读 · 0 评论 -
ElasticSearch(7.2.2)-全⽂搜索引擎的概念
数据的分类结构化数据:指具有固定格式或有限⻓度的数据,如数据库,元数据等。对于结构化数据,我们⼀般都是可以通过关系型数据库(mysql,oracle等)的 table 的⽅式存储和搜索,也可以建⽴索引。通过b-tree等数据结构快速搜索数据。⾮结构化数据:全⽂数据,指不定⻓或⽆固定格式的数据,如邮件,word⽂档等。对于⾮结构化数据,也即对全⽂数据的搜索主要有两种⽅法:顺序扫描法...原创 2019-10-28 17:24:38 · 404 阅读 · 1 评论