- 博客(14)
- 收藏
- 关注
原创 ElasticSearch-IK分词器热更新(源码)
版本说明 ES版本 IK版本 Mysql版本 v7.6 v7.6.1 5.7 IK分词器源码下载:https://github.com/medcl/elasticsearch-analysis-ik1. 修改maven依赖es版本号我个人打开IK源码后,打开pom.xml文件,发现ES的版本并不是7.6.1,修改elasticsearch版本号为7.6.1。如果没有遇到可忽略。<elasticsearch.version>7.6.1</e
2022-04-13 17:57:16
2985
1
原创 ElasticSearch高级功能的使用(模版查询、地理位置查询等)
一、搜索模板Search Template搜索模板,search template,高级功能,就可以将我们的一些搜索进行模板化,每次执行这个搜索直接调用模板,传入一些参数就可以了。类似于mysql的存储过程。1.1 模版入门-固定参数模版这种平常我们一般不会使用,不可重复利用1.1.1参数替换# cars为索引库;template代表模版搜索GET /cars/_search/template{ "source": { "query": { "mat..
2022-04-12 18:57:33
2462
原创 Java API操作ES
1. 导入依赖<dependencies> <!-- ES的高阶的客户端API --> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>.
2022-04-11 19:07:24
7112
1
原创 ElasticSearch进阶-数据建模
一、nested object1、案例:设计一个用户document数据类型,其中包含一个地址数据的数组地址中的字段可能包含住址、公司地址等多个地址。PUT /user_index{ "mappings": { "properties": { "login_name": { "type": "keyword" }, "age": { "type": "short" }, "address"
2022-04-11 17:57:25
684
原创 ElasticSearch进阶-集群脑裂问题
1.集群脑裂是什么?所谓脑裂问题,就是同一个集群中的不同节点,对于集群的状态有了不一样的理解,比如集群中存在两个master,正常情况下我们集群中只能有一个master节点。2.集群脑裂场景举例如果因为网络的故障,导致一个集群被划分成了两片,每片都有多个node,以及一个master,那么集群中就出现了两个master了。但是因为master是集群中非常重要的一个角色,主宰了集群状态的维护,以及shard的分配,因此如果有两个master,可能会导致数据异常。如:节点...
2022-04-07 16:42:45
4332
原创 ElasticSearch底层相关原理
一、ElasticSearch文档分值_score计算底层原理查询的时候会对搜索到的文档进行打分(filter方式不会打分)。1.boolean model根据用户的query条件,先过滤出包含指定term的doc,这一步是不会打分的。2.relevance score算法[ˈreləvəns] 相关度简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度Elasticsearch使用的是 term freque...
2022-03-31 23:20:43
2851
1
原创 ElasticSearch集群架构原理
match查询keyword字段:match将查询数据分词后的信息,需要和keyword字段完全匹配,这条记录才会被查到。_seq_no:是跟着索引库走的,如果操作一个文档,他的version和seq_no都会变化,如果操作另一个文档,则另个文档的seq_no会紧接着上一次的变化进行变化,递增。类似于数据库的id。...
2022-03-29 15:57:19
3830
2
原创 ElasticSearch语法整理-DSL语言高级查询
Domain Specific Language 领域专用语言DSL由叶子查询子句和复合查询子句两种子句组成。无查询条件无查询条件是查询所有,默认是查询所有的索引库的数据,或者使用match_all表示所有GET /es_db/_doc/_search{ "query":{ "match_all":{} }}有查询条件查询命令GET POST 都可以1、叶子条件查询(单字段查询条件)1.1 模糊匹配match : 通过match关
2022-03-29 15:54:41
4734
原创 ElasticSearch核心语法及集群高可用搭建
一、ElasticSearch文档批量操作实现(这里只是批量操作文档,查询文档的操作在后面会补充)1.批量获取文档数据批量获取文档数据是通过_mget的API来实现的(1)在URL中不指定index和type功能说明 : 可以通过ID批量获取不同index和type的数据请求方式:GET请求地址:_mget请求参数:docs : 文档数组参数...
2022-03-25 17:52:04
1092
原创 ElasticSearch快速入门实战
一、ElasticSearch简介1.简介创始人是Shay Banon(谢巴农),它是java开发,是凯源的企业级搜索引擎,能够实现实时搜索,特点是稳定、可靠、快速,并且安装使用方便。(内置JDK,不需要再安装JDK了)客户端支持Java、.NET(C#)、PHP、Python、Ruby等主流语言。目前使用es的公司:京东等商城app,今日头条等新闻app,GitHup,携程、去哪儿等旅游app,斗鱼、B站等视频app...es官网:开源搜索:Elasticsearch、ELK Stac
2022-03-23 19:02:41
2072
1
原创 Collection集合的概念和常用方法分析-为什么要重写equals方法
1. Collection集合集合是Java中的一种容器,可以存储多个数据,类似于数组,但是和数组又不一样数组:存放元素的数据类型要相同;存储元素的长度一定集合:动态的存储多个对象动态:支持动态扩容对象:存储类的实例,当存储基本数据类型时也会变为包装类对象2. Collection常用的方法集合的contains、equals、remove方法底层都是调用了元素对象的equals方法进行比较执行的。add、addAll:添加元素方法/** * ...
2022-03-15 19:51:09
748
原创 基本数据类型的包装类及和字符串的相互转换
1.简介Java数据的类型系统的可以分为两种,基本数据类型(八种)和引用类型。使用基本数据类型时效率高一些,但在一些情况中,我们会使用对象赋予的功能和特点,所以我们会创建对象进行使用,因为Java中万物皆可对象。这个时候如果我们想把基本数据类型当成对象使用,那么我们可以使用基本数据类型对应的包装类。具体如下:byte->Byteshort->Shortint->Integerlong->Longchar->Characterfloa...
2022-03-11 18:01:16
816
原创 数组的拷贝
1.数组的浅拷贝:拷贝的是内存地址int[] arr1 = {1,2,3,4,5};int[] arr2 = arr1;arr2[0] = 10;System.out.println("arr1[0]:" + arr1[0]);System.out.println("arr2[0]:" + arr2[0]);会发现打印后的数据为:arr1[0]:10arr2[0]:10那是因为int[] arr2 = arr1复制的是arr1的堆中的内存地址,所以当操作arr2[0] = 10
2022-03-09 20:07:16
582
原创 Java语言介绍、环境搭建(详细)
1.计算机语言演进1.第一代语言:机器语言、机器指令(0 1)机器语言,主要以二进制码0和1的形式存在。比如128,我们要写为10000000,如果要表示一个单词可能要成百上千的0和1的组合,可读性差,问题排查困难!2.第二代语言:汇编语言汇编语言主要是汇编指令,和第一代语言的区别就是指令的表示方法,汇编语言的指令表示方法更加方便使用者记忆。3.第三代语言:高级语言高级语言就是现在我们开发者常用的编程语言,如:C、C++、Java、Python等,更易于上手。2.Java
2022-03-09 17:40:18
340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人