- 博客(94)
- 收藏
- 关注
原创 【ElasticSearch入门】8、基于词项和全文的分析,结构化搜索
没有相关匹配项,原因:因为在插入相关数据时,es分词过程中讲大写字母改为了小写。而term为精准查询,所以没有结果。将iphone改为小写即产生结果。或者将其改为keyword查询,也可以将大写iPhone查出来。term查询会返回算分结果的。基于全文本的查找特点由于每项之间gap的距离为100,而查询时指定slop为0,无法匹配两个water,查询结果为空。若将slop改为100,则结果如下所示。全部查出。结构化搜索(Structured search) 是指对结构化数据的搜索文本也可以是结构化的
2022-06-01 18:36:30 336
原创 【ElasticSearch入门】7、Elasticsearch聚合分析
Kibana 可视化报表 就是基于 Aggregation实现。集合的分类一些例子ES 提供了许多的类型的 Bucket,帮助用多种方式划分文档Metric 会基于数据集计算结果,除了支持在字段上进行计算,同样也支持在脚本(painless script)产生的结果之上进行计算大多数 Metric 是数学计算,仅输出一个值部分 metric 支持输出多个数值将航班目的地分桶统计查看航班目的地的统计信息,增加平均,最高最低价格查看航班目的地统计信息,平均票价和天气情况
2022-06-01 15:07:57 384
原创 系统架构基础知识入门——架构初探
架构初探 - 谁动了我的蛋糕内容来自字节跳动后端青训营。一、什么是架构架构抽象定义:是有关软件整体结构与组件的抽象描述用于指导软件系统各个方面的设计听不懂啊!!!简单来说就是架构在实现软件方法选择上有指导作用!架构如果没打好,大厦容易倒!问题提出!蛋糕坊要开业了!需要解决以下的问题:咋做蛋糕?(先亲自做把!)如何卖蛋糕?(客流量不大,边做边卖先!)单体架构All in one,所有的东西都在一个进程里,部署在一个机器上。优点:简单缺点:运维需要
2022-05-22 16:42:40 1439 1
原创 【ElasticSearch入门】6、Index Template和Dynamic Template
【ElasticSearch入门】6、Index Template和Dynamic Template集群上的索引会越来越多,例如,你会为日志每天创建个索引使用多个索引可以让你的更好的管理的你数据,提高性能一、Index TemplateIndex Templates 帮助你设定 Mapping 和 Settings,并按照一定的规则,自动匹配到新创建的索引之上模板仅在一个索引被新创建时,才会产生作用。修改模板不会影响已创建的索引可以设定多个索引模板,这些设置会被 merge 在一起可以指定 o
2022-05-21 19:43:10 491
原创 【ElasticSearch入门】5、Dynamic Mapping、常见字段类型、显式mapping以及自定义分词器
【ElasticSearch入门】5、Dynamic Mapping、常见字段类型、显式mapping一、MappingMapping 类似数据库的 schema 的定义,作用如下:定义索引中的字段名称定义字段的数据类型,例如字符串,数字,布尔…字段,倒排索引的相关配置,(Analyzed or Not Analyzed,Analyzer)Mapping 会把 JSON 文档映射称 Lucene 所需的扁平格式一个 Mapping 属于一个索引的 Type每个文档都属于一个 Type
2022-05-21 18:21:33 599
原创 【ElasticSearch入门】4、SearchApi、搜索相关性、Uri search、RequestBody Search、Query String
【ElasticSearch入门】4、SearchApi、搜索相关性、Uri search、RequestBody Search、Query String一、SearchApiURL Search在 URL 中使用查询参数Request Body Search使用 Elasticsearch 提供的,基于 JSON 格式的格式更加完备的 Query Dpmain Specific Language (DSL)1.1 URL 查询使用 “q” , 指定查询字符串“query string
2022-05-19 16:45:29 344
原创 【ElasticSearch入门】3、倒排索引、分词器
【ElasticSearch入门】3、倒排索引、分词器一、倒排索引首先大家可以去看看这篇文章,讲的不错!时间序列数据库的秘密(2)——索引_数据库_陶文_InfoQ精选文章正排索引-文档 Id 到文档内容和单词的关联倒排索引-单词到文档 Id 的关系倒排索引表三列:单词,次数,文档ID和位置。倒排索引包含两部分:单词词典(Team Dictionary)和倒排列表(Posting List)单词词典记录单词到倒排列表的关联关系,一般通过 B+ 树或者哈希链表实现倒排列表记录单词对
2022-05-18 19:44:59 537
原创 Git提示: Unable to negotiate with xxx.xxx.xxx.xxx port XX: no matching host key type found.
解决:前提: 在排除没有配置公钥的情况下。在Git的安装目录下 Git > etc > ssh 文件夹下找到 ssh_config 文件,在文件末尾添加一下代码Host * HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa...
2022-04-26 12:48:09 3003
原创 【ElasticSearch入门】1、elasticsearch、kibana、logstash的安装
【ElasticSearch入门】1、elasticsearch、kibana、logstash的安装一、安装https://www.elastic.co/cn/downloads/elasticsearch下载对应版本后,执行bin/elasticsearch 运行es运行es之后,输入localhost:9200 查看es是否运行成功运行成功!安装分词插件。bin/elasticsearch-plugin install analysis-icu查看已安装插件bin/elast
2021-11-06 23:33:41 1784
原创 RPC学习笔记
RPC学习笔记一、为啥要学? 目前企业的后端项目基本是由一个个微服务所构成,而各个服务之间就涉及一个比较关键的问题,也就是网络通信。设计各个服务互相之间的通信以及和其他中间件通信的代码是各位开发者必须面临的问题。 而rpc就是将网络通信中复杂的过程(对端节点的查找、网络连接的建立、传输数据的编码解码以及网络连接的管理等等)进行了一个封装,使网络通信的逻辑变得简单,并且更加可靠。 总结一下,它的作用主要体现在:屏蔽远程调用跟本地调用的区别,让我们感觉就是调用项目内的方法;隐藏底
2021-08-30 15:59:35 242
原创 centos7安装mysql
centos7安装mysql照着网上教程安了半天还一堆错,翻出原来实习时候安装mysql的步骤,清爽的不得了…1、yum仓库下载MySQL:sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm2、yum安装MySQL:sudo yum install mysql-community-server3、启动MySQL服务:sudo service mysqld start
2021-02-25 16:07:52 145
原创 Redis基础—十、Redis缓存穿透与雪崩
Redis基础—十、Redis缓存穿透与雪崩在我们工作当中,经常需要考虑高可用性的问题。这里我们稍微介绍一下缓存的穿透、击穿、雪崩。一、缓存穿透概念按照正常的业务逻辑,假如说用户想要查询一个东西,redis缓存中没有,他就会去请求数据库。平常这样一个两个还好,但是当用户太多了,全都去访问持久层数据库了,这时候数据库就很有可能宕机了。这就叫缓存穿透。解决方案布隆过滤器关于布隆过滤器,大家可以去看这篇文章https://www.cnblogs.com/cpselvis/p/6265825.ht
2020-12-05 18:43:38 224
原创 Redis基础—九、Redis订阅发布、Redis集群
Redis基础—九、Redis订阅发布、Redis集群一、Redis订阅发布Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。应用场景:比如说广播,或者简单的聊天室都可以用到。比如说下图就是仨:后台先编辑一下channel1的信息发到channel中,之后所有订阅的用户都可以收到channel1的信息。这里有一些常用的命令。我们来实验一下:接收端:subscribe jj
2020-12-05 18:01:42 485
原创 Redis基础—八、Redis配置文件、RDB、AOF
Redis基础—八、RedisConf、RDB、AOF一、RedisConfredis在启动的时候都是通过配置文件启动的。我们来康康相关的配置文件大小写# Note on units: when memory size is needed, it is possible to specify# it in the usual form of 1k 5GB 4M and so forth:## 1k => 1000 bytes# 1kb => 1024 bytes# 1m =&
2020-12-04 16:45:03 323
原创 Redis基础—七、springboot整合Redis
Redis基础—七、springboot整合redis一、准备工作我们在springboot中操作数据主要使用的是springdata,里面包含jdbc,mybatis,mongodb等等。在springboot集合redis的过程中,我们也要使用spring-data进行一个配置的操作。首先我们新建一个springboot项目,把相关的包导一下,redis的包在Nosql中,顺便web和一些开发工具也导进来。然后我们点进去redis-starter的源码看一下,发现了惊天大秘密。我们发现s
2020-12-03 15:55:39 280
原创 【Leetcode】110、平衡二叉树
【Leetcode】110、平衡二叉树一、题目描述给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。二、我的答案基本上就是左深度-右深度的绝对值,每次查看它是不是大于1的。class Solution { public boolean isBalanced(TreeNode root) { if(root==null){ return true;
2020-12-02 20:09:17 195
原创 Redis基础—六、Jedis
Redis基础—6、Jedisredis基础学完之后,我们也就正式来康康java如何操作redis。首先创建一个maven项目,导入jedis相关依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.3.0</version></dependency>之
2020-12-01 18:19:07 197
原创 Redis基础—五、Redis事务、乐观锁
Redis基础—5、Redis事务、乐观锁一、redis事务简介1、简介Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:批量操作在发送 EXEC 命令前被放入队列缓存。收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。一个事务从开始到执行会经历以下三个阶段:开始事务。命令入队。执行事务。我们可以理解Redis事物为一个脚本,脚本中如果出现编译时错误(代码有错
2020-12-01 17:44:50 217
原创 Redis基础—四、Geospatial、HyperLogLog、Bitmaps
Redis基础—4、Geospatial、HyperLogLog、Bitmaps一、Geospatial1、简介Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。Redis GEO 操作方法有:geoadd:添加地理位置的坐标。geopos:获取地理位置的坐标。geodist:计算两个位置之间的距离。georadius:根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。georadiusbymember:根据储存在位置集合
2020-12-01 16:02:29 191
原创 Mybatis-plus在自定义sql时同时使用分页功能以及wrapper
经常会用在逻辑删除分页上注解方式 @Select("select * from student ${ew.customSqlSegment} and 其余条件")IPage<StuScore> selectDeleted(Page<StuScore> page ,@Param(Constants.WRAPPER) Wrapper<StuScore> wrapper);测试一下:...
2020-11-25 21:22:44 444
原创 Redis基础—三、Redis五大数据类型
Redis基础—3、五大数据类型及相关常用指令在遇到不会的指令时,大家可以去redis官网搜索就行。https://redis.io/commands一、RedisKeyRedis 键命令用于管理 redis 的键。常用指令:127.0.0.1:6379> set class redis #设置key为class value为redis的键值对OK127.0.0.1:6379> set name zjjOK127.0.0.1:6379> keys *
2020-11-18 23:09:40 249
原创 Redis基础—二、基本知识及benchmark性能测试
Redis入门—二、基本知识及benchmark性能测试一、benchmark性能测试redis可以使用benchMark进行基本的性能测试,其基本命令如下:redis-benchmark [option] [option value]redis-benchmark -c 100 -n 100000 #指定并发连接数为100,请求数为10万我们以set请求为例:所以看来redis还是很快的!二、基本知识redis其实默认有16个数据库默认使用的是第0个,我
2020-11-17 17:20:09 371
原创 Redis基础—一、Redis简介及安装
Redis入门—1、简介及安装一、redis简介官网描述:总结一下:redis是一个开源的,高性能的key-value数据库Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。Redis的优势
2020-11-17 16:26:55 200
原创 MyBatis-Plus快速入门~
MyBatis-Plus!一、简介MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。舒服了!为简化开发而生!准备开始!这愿景形容的非常形象hhh。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部
2020-11-14 19:31:41 330
原创 Swagger入门
Swagger入门一、什么是Swagger在实际开发前后端分离项目的过程中,不知道大家有没有这种经历。前端程序员小李:小王,我掉你接口咋报错了!你这水平是不是不行啊!后端程序员小王:谁说啦!一看我这写了好久嘞!你才有错呢!前端程序员小李:你不信你看!你这多了一个属性啊!小王:您没看接口文档吧!您这都几百年之前的接口文档了!老板早就让我改了你那版了。小李:敢怒不敢言…加班吧…相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及
2020-11-07 18:37:53 308
原创 【LeetCode】725、分隔链表
【LeetCode】725、分隔链表一、题目描述二、我的代码看了看,想了想,觉得自己的实现方法太麻烦了,遂看看答案。三、答案法一、新链表代码:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { pub
2020-10-26 21:40:24 208
原创 【LeetCode】234、回文链表
【LeetCode】234、回文链表一、题目示例就是判断一个链表是不是回文链表。二、我的题解小白最开始想将链表反转,然后进行比较,但是无法将原链表保存,如果保存就超时了,遂卒。后来想用List进行存储,后来没有处理好循环这块,遂超时。之后稍微改进了以下循环,终于过了!class Solution { public boolean isPalindrome(ListNode head) { ListNode p = head; List ll = new
2020-10-26 09:33:21 189
原创 【Vue】五、Vue与ElementUI的小demo
【Vue】五、Vue与ElementUI的小demo1、配置环境根据之前创建vue-cli项目一样再来一遍 创建项目1. 创建一个名为 hello-vue 的工程 vue init webpack hello-vue2. 安装依赖,我们需要安装 vue-router、element-ui、sass-loader 和 node-sass 四个插件# 进入工程目录cd hello-vue# 安装 vue-routernpm install vue-router --save-dev# 安装 e
2020-10-25 19:56:21 533
原创 【Vue】四、Vue-cli、Webpack以及Vue-router的使用
【Vue】四、Vue-cli、Webpack以及Vue-router的使用一、Vue-cliNode.js : http://nodejs.cn/download/下载64位安装包,无脑下一步即可。安装完毕后通过npm -v以及node -v查看npm以及nodejs版本之后我们使用npm安装一下阿里巴巴的镜像# -g 就是全局安装npm install cnpm -g之后我们安装一下 vue-clI#在命令台输入cnpm install vue-cli -g#查看是否安装成功
2020-10-23 20:54:29 323
原创 【LeetCode】24、交换链表节点
【LeetCode】24、交换链表节点一、题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。想了一小会儿,觉得思路太麻烦,遂看答案。二、递归解法递归解法的整体思路是这样首先判断当前节点或者当前节点的下一个节点是否为空,若为真,则直接返回头节点(因为没有或只有一个无法交换)之后将头节点的后一个节点定义为newHead,将当前节点的大后个节点定义为rest。将newHead.next 指向当前节点head,将h
2020-10-22 23:34:02 308
原创 【Vue】3、计算属性、插槽以及自定义事件
【Vue】三、计算属性、插槽以及自定义事件一、计算属性当我们需要执行开销很大的一个function,比如说遍历一个超级长的数组啥的,如果这时候我们使用vue中的methods多次执行这个方法,那想必开销是相当大的!Vue中给我们提供了计算属性,来使得我们函数的结果保存在缓存中,直到数据发生变化之后才再次执行。这就大大减少了系统的开销。我们在vue中使用computed标签定义计算属性,与methods非常相似。<script> var dirty = new Vue({
2020-10-21 20:11:24 637
原创 【Vue】二、Vue组件以及axios入门
【Vue】二、Vue组件以及axios入门1、组件化应用构建组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树。就比如说下面这张图可以抽象成图的整体是一个小方框,每一个小框又是一个新的方框,其可以重复使用。demo:<!DOCTYPE html><html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml"
2020-10-19 16:19:47 216
原创 【Vue】1、HelloVue!!
【Vue】1、HelloVue!!一、简介1、vue简介Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它具有以下的特点:易用(有点前端基础就可!)灵活(简单小巧!)性能优!Vue.js 的 API 是参考了AngularJS、KnockoutJS、Ractive.js、Rivets.js。还有要提一嘴!vue
2020-10-14 20:57:23 400
原创 【Leetcode】21、合并两个有序链表(Merge Two Sorted Lists)
【Leetcode】21、合并两个有序链表(Merge Two Sorted Lists)一、题目描述合并俩有序链表即可!二、小白代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * List
2020-10-12 19:18:35 302
原创 【LeetCode】206、反转链表 Reverse Linked List
【LeetCode】206、反转链表 Reverse Linked List反转链表不用多说了吧,考的频率太大了。一、题目描述题目地址https://leetcode-cn.com/problems/reverse-linked-list/二、小白代码一如既往…/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * Lis
2020-10-08 21:31:01 396
原创 【Leetcode】160、相交链表 Intersection of Two Linked Lists
[Leetcode] 160、相交链表 Intersection of Two Linked Lists一、题目描述题目链接https://leetcode-cn.com/problems/intersection-of-two-linked-lists/编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表**:**今天开始分块刷题嘞!首先先刷刷链表吧!最开始小白整了半天,愣是没看懂题目输入啥意思?后来才发现,题目原来只输入俩链表?最开始整了半天,暴力无果,遂看答案。
2020-10-07 21:50:15 153
原创 【Leetcode】 5、Longest Palindromic Substring(最长回文子串)
Leetcode 5、Longest Palindromic Substring1、题目描述Given a string s, return the longest palindromic substring in s.(给定一个子串,求其最长回文串!!)例子:限制:2、我的解法当然是暴力咯!!最开始的暴力!class Solution { public String longestPalindrome(String s) { if(s.length()==
2020-10-06 15:40:10 143
原创 【LeetCode】3、Longest Substring Without Repeating Characters(最长子串)
【LeetCode】3、Longest Substring Without Repeating Characters(最长子串)1、题目描述Given a string s, find the length of the longest substring without repeating characters.找给定字符串中,最长的无重复字符的子串做题过程:当时题目理解错了,瞎鸡儿敲了敲,卒。看答案!!!2、暴力解法其实最开始我敲的过程中有点像暴力解法,暴力解法就是莽。两次循环把串中
2020-10-05 11:34:12 159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人