Windows使用(版本8.11)ElasticSearch、elasticsearch-head、kibana

下载安装引用这篇文章

目录

      • 1、ES基本知识
        • 核心术语
        • 核心概念
        • 倒排索引
        • ES字典树
        • ES怎么保证读写一致
      • 2、Window启动ES步骤
        • elasticsearch-8.11.3
        • elasticsearch-head-master
        • kibana-8.11.3
      • 3、Kibana 调用ES API示例

1、ES基本知识

核心术语

● 索引:index (相当于表)
● 类型:type (相当于表逻辑类型),早版本有类型
● 文档:document (相当于数据库表的行)
● 字段:fields(相当于数据库表列)

核心概念

● 映射:mapping (相当于表结构后定义)
● 近实时:NRT (Near real time)
● 节点:node (每一个服务器)
● shard replica (数据分片与备份)

倒排索引

倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和包含该属性值的各个记录地址。由于不是根据记录来确定属性,而是根据属性来确定记录的位置,所以称之为倒排索引。倒排索引改会在存储数据时将关键词和数据进行关联,保存到倒排表中,然后查询是,将查询内容进行分词后在倒排中进行查询,最后匹配数据即可

ES字典树

字典树又称单词查找树,Trie树,是一种树形结构,是一种哈系树的变种。典型应用于统计,排序和保存大量的字符串。
优点:利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。
3个基本性质:
a. 根节点不包含字符,除根节点外每一个节点都只包含一个字符。
b. 从根节点到某一节点,路径上经过的字符串连接起来,为改节点对应的字符串
c. 每一个节点的所有子节点包含的字符串都不相同。

ES怎么保证读写一致
  1. 更新操作:可以通过版本号使用乐观并发控制,以确保新版本不会被旧版本覆盖

每个文档都有一个_version 版本号,这个版本号在文档被改变时加一。Elasticsearch使用这个 _version 保证所有修改都被正确排序,当一个旧版本出现在新版本之后,它会被简单的忽略。利用_version的这一优点确保数据不会因为修改冲突而丢失,比如指定文档的version来做更改,如果那个版本号不是现在的,我们的请求就失败了。

  1. 新增操作:一致性级别支持 quorum/one/all,默认为 quorum,即只有当大多数分片可用时才允许写操作。但即使大多数可用,也可能存在因为网络等原因导致写入副本失败,这样该副本被认为故障,副本将会在一个不同的节点上重建。

● one:写操作只要有一个primary shard是active活跃可用的,就可以执行
● all:写操作必须所有的primary shard和replica shard都是活跃可用的,才可以执行
● quorum:默认值,要求ES中大部分的shard是活跃可用的,才可以执行写操作

  1. 查询读操作:可以设置 replication 为 sync(默认),这使得操作在主分片和副本分片都完成后才会返回;如果设置replication 为 async 时,也可以通过设置搜索请求参数 _preference 为 primary 来查询主分片,确保文档是最新版本

2、Window启动ES步骤

在这里插入图片描述

elasticsearch-8.11.3

1、elasticSearch.bat启动ES
在这里插入图片描述
2、浏览器输入地址:http://localhost:9200/ 出入如下启动成功!
在这里插入图片描述
3、IK分词器放在如下路径
在这里插入图片描述
在这里插入图片描述

elasticsearch-head-master

1、使用npm 启动该项目
2、在如下路径下执行 npm run start
在这里插入图片描述
在这里插入图片描述
3、访问http://localhost:9100 启动成功
在这里插入图片描述

kibana-8.11.3

1、kibana.bat 启动
在这里插入图片描述
2、package.json 修改版本号与ES一致
在这里插入图片描述
在这里插入图片描述
3、访问地址:http://localhost:5601/app/dev_tools#/console 启动成功
在这里插入图片描述
在这里插入图片描述

3、Kibana 调用ES API示例

# ik_smart分词
GET /_analyze
{"analyzer":"ik_smart","text":"我爱你,特靠谱"
}#测试ik_max_word分词
GET /_analyze
{"analyzer":"ik_max_word","text":"我爱你,特靠谱"
}#新建索引
PUT helloes
{"settings": {"number_of_shards": 3,"number_of_replicas": 2}
}#查看指定索引信息
GET /helloes# 查看所有索引信息
GET *# 删除索引
delete /helloes#查看索引是否存在
HEAD /helloes# 创建映射字段(PUT /索引库名/_mapping/类型名称)
PUT /helloes/_mapping
{"properties": {"title": {"type": "text","analyzer": "ik_smart"},"images": {"type": "keyword","index": "false"},"price": {"type": "float"}}
}#查看映射关系
GET /helloes/_mapping#创建文档
POST /helloes/_doc
{ "title":"小米手机","category":"小米","images":"http://www.gulixueyuan.com/xm.jpg","price":3999.00
}#创建文档自定义ID
POST /helloes/_doc/1
{ "title":"小米手机","category":"小米","images":"http://www.gulixueyuan.com/xm.jpg","price":3999.00
}# 文档查询
GET /helloes/_doc/1#搜索当前索引下所有数据
GET /helloes/_search# 删除文档
DELETE /helloes/_doc/1#文档修改 (数据不存在则新增)
POST /helloes/_doc/1
{"title":"华为手机2","category":"华为","images":"http://www.gulixueyuan.com/hw.jpg","price":1999.00
}#修改局部信息
POST /helloes/_update/1
{"doc": {"title":"小米手机","category":"小米"}
}#URL拼接条件查询
GET /helloes/_search?q=category:小米# JSON 格式查询(全文检索)GET /helloes/_search{"query": {"match": {"category": "小"}}}# JSON请求提查询所有数据
GET /helloes/_search
{"query": {"match_all": {}}
}# 查询返回指定字段
GET /helloes/_search
{"query": {"match_all": {}},"_source": ["title"]
}# 分页查找 from:页码, size:页面调试
GET /helloes/_search
{"query": {"match_all": {}},"from": 0,"size": 20
}#查询排序
GET /helloes/_search
{"query": {"match_all": {}},"sort": [{"price": {"order": "desc"}}]
}# 多条件查询
GET /helloes/_search
{"query": {"bool": {"must": [{"match": {"title": "小米"}},{"match": {"price": "1999"}}]}}
}# 值完全匹配
GET /helloes/_search
{"query": {"match_phrase": {"title": "小米"}}
}# 高亮查询
GET /helloes/_search
{"query": {"match_phrase": {"category": "米"}},"highlight": {"fields": {"category": {}//<----高亮这字段}}
}#分组查询
GET /helloes/_search
{"aggs":{//聚合操作"price_group":{//名称,随意起名"terms":{//分组"field":"price"//分组字段}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/618070.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Debezium发布历史64

原文地址&#xff1a; https://debezium.io/blog/2019/07/12/streaming-cassandra-at-wepay-part-1/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. 在 WePay 上流式传输 Cassandra - 第 1 部分 七月 12, 2019 …

yaml读取参数介绍

安装Yaml第三方库 主要是介绍对应的命令如下所示【以下命令都可&#xff0c;选一个即可】 pip install pyyaml conda install pyyamlyaml文件介绍 yaml读取文件具体可以参考对应default.yaml文件【在下文文件案例给出】&#xff0c;具体形式如下所示。yaml对大小写和缩进敏感&a…

MathType绝对是我数学编辑的首选工具!

去年&#xff0c;微软曾说&#xff0c;要去掉Office里的公式编辑器&#xff0c;建议用户使用MathType编辑公式。目前Office用户可以到微软官网安装MathType的插件&#xff0c;现在免费使用&#xff0c;以后要收费。Word里安装这个插件以后&#xff0c;就会出现MathType的菜单。…

Spark避坑系列一(基础知识)

大家想了解更多大数据相关内容请移驾我的课堂: 大数据相关课程 剖析及实践企业级大数据 数据架构规划设计 大厂架构师知识梳理:剖析及实践数据建模 剖析及实践数据资产运营平台 Spark作为大数据领域离线计算的王者,在分布式数据处理计算领域有着极高的处理效率,而Python作为…

Camunda Sub Process

一&#xff1a;内嵌子流程 repositoryService.createDeployment().name("内嵌子流程").addClasspathResource("bpmn/embed_sub_process.bpmn").deploy(); identityService.setAuthenticatedUserId("huihui"); ProcessInstance processInstance …

2023年最严重的10起0Day漏洞攻击事件

根据谷歌公司威胁分析小组去年 7 月发布的报告显示&#xff0c;2022 年全球共有 41 个 0day 漏洞被利用和披露。而研究人员普遍认为&#xff0c;2023 年被利用的 0Day 漏洞数量会比 2022 年更高&#xff0c;这些危险的漏洞被广泛用于商业间谍活动、网络攻击活动以及数据勒索攻击…

汽车级线性电压稳压器LM317MBSTT3G:新能源汽车的理想之选

LM317MBSTT3G是一款可调三端子正向线性稳压器&#xff0c;能够在 1.2 V 至 37 V 的输出电压范围内提供 500 mA 以上的电流。此线性电压稳压器使用非常简便&#xff0c;仅需两个外部电阻即可设置输出电压。另外&#xff0c;它采用内部电流限制、高温关断和安全区域补偿&#xff…

面试150-61(Leetcode138随机链表的复制)

代码&#xff1a; /* // Definition for a Node. class Node {int val;Node next;Node random;public Node(int val) {this.val val;this.next null;this.random null;} } */class Solution {public Node copyRandomList(Node head) {if(headnull)return null;Node n1 new…

whistle代理+mock轻松解决“页面端“测试接口没数据难题

0、whistle是什么&#xff1f;怎么用&#xff1f; 自行百度&#xff0c;此处不再赘述&#xff01; 1、示例演示&#xff08;交易订单测试&#xff09; 背景和痛点最近在测试一个小需求&#xff0c;需要涉及订单侧服务商品库侧服务库存侧服务财务侧线下交易服务。痛点主要在订…

ISO9001 质量体系认证对企业有什么好处?

ISO 9001质量体系认证对企业有许多潜在的好处&#xff0c;这些好处有助于提升企业的内部运作效率、客户满意度以及市场竞争力。以下是ISO 9001认证的一些主要好处&#xff1a; 1. 提高质量管理水平&#xff1a;ISO 9001要求企业建立一套完整的质量管理体系&#xff0c;这套体系…

redis夯实之路-键过期与发布订阅详解

设置键的生存时间或过期时间 Setex&#xff08;单位s&#xff09;&#xff0c;expire&#xff08;s&#xff09;&#xff0c;pexpire&#xff08;ms&#xff09;可以设置键的生存时间&#xff0c; Expirate&#xff0c;pexpirate设置键的过期时间&#xff08;timestamp的时间…

Spark 读excel报错,scala.MatchError

Spark3详细报错: scala.MatchError: Map(treatemptyvaluesasnulls -> true, location -> viewfs://path.xlsx, inferschema -> false, addcolorcolumns -> true, header -> true) (of class org.apache.spark.sql.catalyst.util.CaseInsensitiveMap)scala代码…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux网络编程第三天-UDP编程(物联技术666)

技术咨询:wulianjishu666 上午:UDP网络编程 下午:UDP聊天程序的设计、select超时控制 教学内容: 1、udp和tcp都是在传输层上的协议,它们的区别 UDP协议与TCP协议的差异: TCP:面向连接,可靠 UDP:无连接,不可靠 ----------------------- UDP协议的优势: 支持…

openssl3.2 - 官方demo学习 - client-conf.c

文章目录 openssl3.2 - 官方demo学习 - client-conf.c笔记client-conf.c配置文件格式 - connect.cnf备注END openssl3.2 - 官方demo学习 - client-conf.c 笔记 client-conf.c client-arg.c是从命令行参数中得到TLS服务器ip/port. client-conf.c 从配置文件中读取TLS服务器ip…

【降龙算法】基于QT插件机制实现一个机器视觉算法小框架

机器视觉行业有各种各样的拖拉拽框架&#xff0c;也叫做低代码平台&#xff0c;例如国内海康的VisionMaster&#xff1a; 一个机器视觉框架需要包含各种算法模块&#xff0c;日志窗口&#xff0c;图像显示窗口等等&#xff0c;【降龙算法】就是做了一个入门级的机器视觉算法框…

群狼调研开展某连锁咖啡厅NPS及消费者心理研究调研

为了解某全国连锁咖啡厅的NPS值及消费者心理状况&#xff0c;找出咖啡厅在服务质量、产品等方面的差距和优势。群狼调研&#xff08;长沙消费者需求调研&#xff09;受客户委托开展连锁咖啡厅NPS及消费者心理研究调研。 本次调研主要分为以下步骤&#xff1a; 1.设计问卷&#…

(核心变量)全国上市公司对外开放程度+dofile+参考文献(2000-2022年)

上市公司的对外开放程度数据反映了这些公司在国际市场上的活跃度和全球化程度。这包括了它们的国际贸易参与度、跨国投资和合作、国际市场的营销和品牌推广策略&#xff0c;以及在不同国家和地区的业务布局。此外&#xff0c;这段时间内不同行业和公司的对外开放程度可能有明显…

Python基础(二十八、多态、抽象类)

文章目录 一、什么是多态&#xff1f;二、多态的实现1.通过继承实现多态2.抽象类实现多态2.1 抽象类的实现2.2 抽象类的注意事项2.3 总结 三、注意事项四、总结随笔练习抽象类 在面向对象编程中&#xff0c;多态是一种强大的概念&#xff0c;它允许不同类型的对象对相同的消息做…

C++学习笔记(三十六):c++ 线程

本节主要学习c线程。线程的简单代码示例 #include <iostream> #include <thread> static bool s_Finished false;void Work() {using namespace std::literals::chrono_literals;std::cout << std::this_thread::get_id() << std::endl;while (!s_Fin…

代码随想录算法训练营第七天|哈希表理论基础,454.四数相加II ,383. 赎金信 ,15. 三数之和 ,18. 四数之和

刷题建议 刷题建议与debug 代码随想录目前基本都有了视频讲解&#xff0c;一定要先看视频&#xff0c;事半功倍。写博客&#xff0c;将自己的感悟沉淀下来&#xff0c;不然会忘大家提问的时候&#xff0c;记得要把问题描述清楚&#xff0c;自己在哪一步遇到了问题&#xff0c…