<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yinni11的博客]]></title><description><![CDATA[无]]></description><link>https://blog.youkuaiyun.com/yinni11</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yinni11]]></copyright><item><title><![CDATA[2020-04-02]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/105262587</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/105262587</guid><author>yinni11</author><pubDate>Thu, 02 Apr 2020 09:53:29 +0800</pubDate><description><![CDATA[window中的通过终端设置环境变量
例如:SET NLS_LANG=AMERICAN_AMERICA.AL32UTF8
这个设置的环境变量只会在当前窗口有效。这个窗口关闭。就无效
可以在设置该环境变量以后，在开启对应的应该，这样就可以该次应该启动有有效

...]]></description><category></category></item><item><title><![CDATA[elasticsearch 安装ik中文分词]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/104492215</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/104492215</guid><author>yinni11</author><pubDate>Tue, 25 Feb 2020 10:52:26 +0800</pubDate><description><![CDATA[全文搜索对于中文分词很重要，所以需要ik插件分词支持中文分词
英文使用空格很容易分词，中文需要根据词意进行分词，需要【字典】支持

插件项目：https://github.com/medcl/elasticsearch-analysis-ik

未安装前【分词测试】
postman


post   http://localhost:9200/_analyze
{
    "text":"活动在广...]]></description><category></category></item><item><title><![CDATA[Elasticsearch搜索中文分词优化-ik_max_word,和ik_smart模式]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/104490442</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/104490442</guid><author>yinni11</author><pubDate>Tue, 25 Feb 2020 10:40:14 +0800</pubDate><description><![CDATA[Elasticsearch 中文搜索时遇到几个问题:


	当搜索关键词如：“人民币”时，如果分词将“人民币”分成“人”，“民”，“币”三个单字，那么搜索该关键词会匹配到很多包含该单字的无关内容,但是如果将该词分词成一个整词“人民币”，搜索单字如“人”字又不会匹配到包含“人民币”关键词的内容,怎么解决这个问题,既保证覆盖度又保证准确度?
	
	
	搜索“RMB”时只会匹配到包含“RMB”关键词的内...]]></description><category></category></item><item><title><![CDATA[Elasticsearch 移除 type 之后的新姿势]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/104482313</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/104482313</guid><author>yinni11</author><pubDate>Mon, 24 Feb 2020 18:12:49 +0800</pubDate><description><![CDATA[随着 7.0 版本的即将发布，type的移除也是越来越近了，在 6.0 的时候，已经默认只能支持一个索引一个 type 了，7.0 版本新增了一个参数include_type_name，即让所有的 API 是 type 相关的，这个参数在 7.0 默认是true，不过在 8.0 的时候，会默认改成false，也就是不包含 type 信息了，这个是 type 用于移除的一个开关。

让我们...]]></description><category></category></item><item><title><![CDATA[Elasticsearch实践（三）：Mapping]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/104467492</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/104467492</guid><author>yinni11</author><pubDate>Sun, 23 Feb 2020 21:15:52 +0800</pubDate><description><![CDATA[版本：Elasticsearch 6.2.4。

Mapping类似于数据库中的表结构定义，主要作用如下：

定义Index下字段名（Field Name）
	定义字段的类型，比如数值型，字符串型、布尔型等
	定义倒排索引的相关配置，比如是否索引、记录postion等
Mapping完整的内容可以分为四部分内容：

字段类型(Field datatypes)
	元字段(Meta-Fields)
	...]]></description><category></category></item><item><title><![CDATA[听说你还没掌握 ElasticSearch Normalizer 的使用方法？]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/104431632</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/104431632</guid><author>yinni11</author><pubDate>Fri, 21 Feb 2020 17:57:26 +0800</pubDate><description><![CDATA[在Elasticsearch中处理字符串类型的数据时，如果我们想把整个字符串作为一个完整的 term 存储，我们通常会将其类型type设定为keyword。但有时这种设定又会给我们带来麻烦，比如同一个数据再写入时由于没有做好清洗，导致大小写不一致，比如apple、Apple两个实际都是apple，但当我们去搜索apple时却无法返回Apple的文档。要解决这个问题，就需要Nor...]]></description><category></category></item><item><title><![CDATA[配置Elasticsearch的映射 (mapping)]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/104388203</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/104388203</guid><author>yinni11</author><pubDate>Wed, 19 Feb 2020 10:37:02 +0800</pubDate><description><![CDATA[1.1 什么是映射

     (1) 映射(mapping): 定义index的元数据, 指定要索引并存储的文档的字段类型.


也就是说映射决定了Elasticsearch在建立倒排索引、进行检索时对文档采取的相关策略, 如数字类型、日期类型、文本类型等等.

需要注意的是:检索时用到的分析策略, 要和建立索引时的分析策略相同, 否则将导致数据不准确.

1.2 映射的组成

每...]]></description><category></category></item><item><title><![CDATA[SpringBoot 使用Spring Initializr快速构建工程]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/104354931</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/104354931</guid><author>yinni11</author><pubDate>Mon, 17 Feb 2020 12:09:32 +0800</pubDate><description><![CDATA[序言：
在此之前，我们主要通过Maven Archetype 来快速生成Maven项目，项目原型相对简陋，对各种IDE的支持也不太友好。然而通过Spring官方提供的Spring Initializr 来构建Maven项目，它不仅完美支持IDEA和Eclipse，而且能自动生成启动类和单元测试代码，给开发人员带来极大的便利！！

一、在 IntelliJ IDEA 快速创建SpringBoot工程...]]></description><category></category></item><item><title><![CDATA[application.properties和application.yml文件的区别]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/104354706</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/104354706</guid><author>yinni11</author><pubDate>Mon, 17 Feb 2020 11:13:46 +0800</pubDate><description><![CDATA[关于

一般上来说，当我们创建一个SpringBoot项目时，IDE会默认帮我们创建一个application.properties配置文件。有些朋友习惯把.properties文件改成.yml文件。那么这两种文件类型有什么区别呢？

区别

1.内容格式比较：
.properties文件，通过.来连接，通过=来赋值，结构上，没有分层的感觉，但比较直接。
.yml文件，通过：来分层，结构上，有比较...]]></description><category></category></item><item><title><![CDATA[实战Spring Boot 2.0之过滤器和拦截器]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/104270415</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/104270415</guid><author>yinni11</author><pubDate>Tue, 11 Feb 2020 22:24:34 +0800</pubDate><description><![CDATA[用户认证授权、日志记录MDC、编码解码、UA检查、多端对应等都需要通过拦截请求来进行处理。这时就需要Servlet、Filter、Listener、Interceptor这几种组件。而把非Spring Boot项目转换成Spring Boot项目，需要沿用以前的这些代码，所以有必要了解这它们的用法和生命周期。



正文

1. 几种组件介绍

1.1. 监听器Liste...]]></description><category></category></item><item><title><![CDATA[Spring Boot实战：拦截器与过滤器]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/104246575</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/104246575</guid><author>yinni11</author><pubDate>Mon, 10 Feb 2020 12:29:18 +0800</pubDate><description><![CDATA[一、拦截器与过滤器

　　在讲Spring boot之前，我们先了解一下过滤器和拦截器。这两者在功能方面很类似，但是在具体技术实现方面，差距还是比较大的。在分析两者的区别之前，我们先理解一下AOP的概念，AOP不是一种具体的技术，而是一种编程思想。在面向对象编程的过程中，我们很容易通过继承、多态来解决纵向扩展。但是对于横向的功能，比如，在所有的service方法中开启事务，或者统一记录日志等功能...]]></description><category></category></item><item><title><![CDATA[经典算法应用之七----10亿数据中取最大的100个数据]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/103888918</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/103888918</guid><author>yinni11</author><pubDate>Wed, 08 Jan 2020 12:01:38 +0800</pubDate><description><![CDATA[给出三种思路，仅供参考。。
1.思路一：根据快速排序划分的思想，每次分割之后只考虑比轴大的一部分，知道比轴大的一部分在比100多的时候，采用传统排序算法排序，取前100个。
step1：递归对所有数据分成[a,b)，(b,d]两个区间，(b,d]区间内的数都是大于[a,b)区间内的数
step2：对(b,d]重复 step1操作，直到最右边的区间个数小于100个。注意[a,b)区间不用划分
ste...]]></description><category></category></item><item><title><![CDATA[图解排序算法(三)之堆排序]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/103888730</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/103888730</guid><author>yinni11</author><pubDate>Wed, 08 Jan 2020 12:00:45 +0800</pubDate><description><![CDATA[堆排序

堆排序是利用堆这种数据结构而设计的一种排序算法，堆排序是一种选择排序，它的最坏，最好，平均时间复杂度均为O(nlogn)，它也是不稳定排序。首先简单了解下堆结构。

堆

堆是具有以下性质的完全二叉树：每个结点的值都大于或等于其左右孩子结点的值，称为大顶堆；或者每个结点的值都小于或等于其左右孩子结点的值，称为小顶堆。如下图：

堆；或者每个结点的值都小于或等于其左右孩子结点的值，称为小顶...]]></description><category></category></item><item><title><![CDATA[mysql实现主从复制/主从同步]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/103717203</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/103717203</guid><author>yinni11</author><pubDate>Thu, 26 Dec 2019 16:05:01 +0800</pubDate><description><![CDATA[业务场景

小公司业务代码存于一个服务器上，而这个服务器有的时候回宕机，导致业务停顿，造成影响。这个时候 就需要做高可用 两个ngix+两个tomcat+两个mysql实现高可用，避免单点问题。中间使用keepalived监听。下面先从简单的mysql主从搞起。下面按照老方式，what-&gt;why-&gt;how ,是什么，为什么，怎么做来讲解一波。


（what）什么是mysql 的主从复...]]></description><category></category></item><item><title><![CDATA[Elasticsearch Java API - 客户端连接之TransportClient(TransportClient，PreBuiltXPackTransportClient)（一）]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/103581326</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/103581326</guid><author>yinni11</author><pubDate>Tue, 17 Dec 2019 15:50:37 +0800</pubDate><description><![CDATA[Elasticsearch Java API 客户端连接

一个是TransportClient，一个是NodeClient，还有一个XPackTransportClient

TransportClient：
作为一个外部访问者，请求ES的集群，对于集群而言，它是一个外部因素。

NodeClient
作为ES集群的一个节点，它是ES中的一环，其他的节点对它是感知的。

XPackTranspo...]]></description><category></category></item><item><title><![CDATA[Java 客户端操作 Elasticsearch]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/103574755</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/103574755</guid><author>yinni11</author><pubDate>Tue, 17 Dec 2019 15:08:21 +0800</pubDate><description><![CDATA[目前 Elasticsearch 有很多第三方 Java 客户端

如 TransportClient，Jest,Spring Data Elasticsearch（Spring Data 对 Elasticsearch 的整合）

还有官方的Java REST Client

SpringBoot 对 Elasticsearch 的支持

SpringBoot 为 Elast...]]></description><category></category></item><item><title><![CDATA[elasticsearch系列七：ES Java客户端-Elasticsearch Java client（ES Client 简介、Java REST Client、Java Client）]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/103505495</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/103505495</guid><author>yinni11</author><pubDate>Fri, 13 Dec 2019 18:30:02 +0800</pubDate><description><![CDATA[2. 回顾 ES的架构



3. ES支持的客户端连接方式

3.1 REST API ，端口 9200

　　这种连接方式对应于架构图中的RESTful style API这一层，这种客户端的连接方式是RESTful风格的，使用http的方式进行连接



3.2 Transport 连接 端口 9300

  这种连接方式对应于架构图中的Transport这一层，这种客户端连接方式是...]]></description><category></category></item><item><title><![CDATA[RedisTemplate之opsForValue使用说明]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/103490171</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/103490171</guid><author>yinni11</author><pubDate>Wed, 11 Dec 2019 12:13:36 +0800</pubDate><description><![CDATA[Redis中opsForValue()方法的使用介绍：（主要是对字符串类型的操作）

1、set(Kkey,Vvalue)

 新增一个字符串类型的值，key是键，value是值。


redisTemplate.opsForValue().set("stringValue","bbb"); 

2、get(Objectkey)

 获取key键对应的值


String stri...]]></description><category></category></item><item><title><![CDATA[git rebase简介(基本篇)]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/103486519</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/103486519</guid><author>yinni11</author><pubDate>Wed, 11 Dec 2019 09:29:07 +0800</pubDate><description><![CDATA[一、基本

git rebase用于把一个分支的修改合并到当前分支。
假设你现在基于远程分支"origin"，创建一个叫"mywork"的分支。
$ git checkout -b mywork origin
假设远程分支"origin"已经有了2个提交，如图



现在我们在这个分支做一些修改，然后生成两个提交(commit).
$ vi file.txt
$ git commit
$ vi o...]]></description><category></category></item><item><title><![CDATA[时空复杂度（时间复杂度/空间复杂度）O(1)、O(n)、O(n^2)、O(log n)、O(n log n)是什么意思]]></title><link>https://blog.youkuaiyun.com/yinni11/article/details/103185734</link><guid>https://blog.youkuaiyun.com/yinni11/article/details/103185734</guid><author>yinni11</author><pubDate>Thu, 21 Nov 2019 16:32:54 +0800</pubDate><description><![CDATA[这些都是算法时空复杂度的表示。不仅仅用于表示时间复杂度，也用于表示空间复杂度。 
O后面的括号中有一个函数，指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。

O(1)解析


O(1)就是最低的时空复杂度了，也就是耗时/耗空间与输入数据大小无关，无论输入数据增大多少倍，耗时/耗空间都不变。 哈希算法就是典型的O(1)时间复杂度，无论数据规模多大，都可以在一次计算后找...]]></description><category></category></item></channel></rss>