自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 复杂度分析:浅析最好、最坏、平均、均摊时间复杂度

复杂度分析:浅析最好、最坏、平均、均摊时间复杂度最好、最坏时间复杂度四个复杂度分析方面的知识点,最好情况时间复杂度、最坏情况时间复杂度、平均情况时间复杂度、均摊时间复杂度。最好、最坏时间复杂度分析一下这段代码的时间复杂度‘’‘// n表示数组array的长度int find(int[] array, int n, int x) {int i = 0;int pos = -1;for (; i < n; ++i) {if (array[i] == x) pos = i;}retu

2021-04-15 21:26:23 313

原创 了解Spring的JDBC异常抽象

了解Spring的JDBC异常抽象Spring 的JDBC异常抽象Spring是怎么认识那些错误码的Spring 的JDBC异常抽象Spring 会将数据操作的异常转换为DataAccessException无论使用何种数据访问方式,都能使用一样的异常Spring是怎么认识那些错误码的通过SQLErrorCodeSQLExceptionTranslator 解析错误码ErrorCode定义org/springframework/jdbc/support/sql-error-codes.

2021-04-14 16:40:04 90

原创 什么是Spring的事务抽象

什么是Spring的事务抽象Spring的事务抽象事务抽象的核心接口事务传播特性事务隔离特性编程式事务声明式事务基于注解的配置方式Spring的事务抽象一致的事务模型JDBC/Hibernate/myBatisDataSource/JTA事务抽象的核心接口事务传播特性事务隔离特性编程式事务TransactionTemplateTransactionCallbackTransactionCallbackWithoutResultPlatformTransacti

2021-04-13 20:54:26 153

原创 如何通过Spring JDBC访问数据库

如何通过Spring JDBC访问数据库Spring的JDBC操作类常用的Bean注解简单的JDBC操作SQL批处理Spring的JDBC操作类spring-jdbccore ,jdbcTemplate等相关核心接口和类datasource,数据源相关的辅助类object,将基本的JDBC操作封装成对象support,错误码等其他辅助工具常用的Bean注解通过注解定义Bean@Component@Repository@Service@Controller@RestCo

2021-04-13 20:29:54 99

原创 好用的连接池们:Alibaba Druid

好用的连接池们:Alibaba Druid介绍实用的功能 (网址:https://github.com/alibaba/druid)数据源配置介绍Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能。功能强大,能防SQL注入,内置Logging能诊断Hack应用行为实用的功能 (网址:https://github.com/alibaba/druid)详细的监控(真的是全面)ExceptionSorter,针对主流数据库的返回码都

2021-04-10 18:13:10 122

原创 好用的连接池们:HikariCP

好用的连接池们:HikariCP优点在Spring Boot中的配置常见HikariCP配置参数优点高性能的JDBC连接池,比其他数据源都更快字节码级别优化(很多方法通过JavaAssist生成)大量小改进用FastStatementList代替ArrayList(在列表操作取放的时候可以节省一些时间)无锁集合ConcurrentBag(并发操作带来一些性能的提升)代理类的优化(比如:用invokestatic代替了invokevirtual)在Spring Boot中的配

2021-04-10 18:01:56 103

原创 如何配置多数据源

如何配置多数据源配置多数据源的注意事项Spring Boot中的多数据源配置配置多数据源的注意事项不同数据源的配置要分开关注每次使用的数据源有多个DataSource 时系统如何判断对应的设施(事务、ORM等)如何选择DataSourceSpring Boot中的多数据源配置手工配置两组 DataSource及相关内容与Spring Boot 协同工作(二选一)配置@Primary 类型的Bean排除 Spring Boot 的自动配置DataSourceAutoCon

2020-07-30 22:01:31 135

原创 配置跨集群搜索

配置跨集群搜索

2020-07-10 16:08:31 130

原创 自动补全与基于上下文的提示

自动补全与基于上下文的提示精确度 和 召回率什么是Context SuggesterCompletion Suggester 的扩展可以在搜索中加入更多的上下文信息,例如,输入"star"咖啡相关:建议"Starbucks"电影相关:“star wars”实现 Context Suggester可以定义两种类型的ContextCategory - 任意的字符串Geo - 地理位置信息实现Context Suggester 的具体步骤定制一个Mapping

2020-07-09 21:22:53 267

原创 Term & Phrase Suggester)

Term & Phrase SuggesterTerm SuggesterPhrase SuggesterTerm SuggesterSuggester 就是一种特殊类型的搜索。“text” 里是调用时候提供的文本,通常来自于 用户界面上用户输入内容用户输入的"lucen"是一个错误的拼写会到指定的字段"body"上搜索,当无法搜索到结果时(missing),返回建议的词提供很多可选参数来控制相似性的模糊程度。例如:“max_edits”几种Suggestion

2020-07-09 21:10:59 235

原创 综合排序:Function Score Query 优化算分

综合排序:Function Score Query 优化算分算分与排序Function Score QueryBoost Mode 和 Max Boost一致性随机函数算分与排序Elasticsearch 默认会以文档的相关度算分进行排序可以通过指定一个或者多个字段进行排序使用相关度算分(score)排序,不能满足某些特定条件无法针对相关度,对排序实现更多的控制Function Score QueryFunction Score Query可以在查询结束后,对每一个匹配的文档

2020-07-09 20:57:13 407

原创 使用Search Template 和 Index Alias 查询

使用Search Template 和 Index Alias 查询Search Template - 解耦程序 & 搜索DSLIndex Alias 实现零停机运维Search Template - 解耦程序 & 搜索DSLElasticSearch的查询语句对相关性算分 / 查询性能都至关重要在开发初期,虽然可以明确查询参数,但是往往不能最终定义查询DSL的具体结构通过Search Template 定义一个ContractIndex Alias 实现零停机

2020-07-09 20:31:00 146

原创 Space Jam, 一次全文搜索的实例

Space Jam, 一次全文搜索的实例

2020-07-09 20:22:56 447

原创 多语言及中文分词与检索

多语言及中文分词与检索Ikpinyin中文分词分词标准:哈工大 标准中,姓和名分开,HanLp是在一起的http://www.hanlp.comIkpinyinkeep_first_letter 保留首字母分词方式

2020-07-09 20:13:57 3094

原创 单字符串多字段查询:Multi Match

单字符串多字段查询:Multi Match场景场景Multi Match QueryBest Fields 是默认类型,可以不用指定Minimum should match 等参数 可以传递到生成的query 中使用多数字段匹配解决用广度匹配字段title 包括尽可能多的文档 - 以提升召回率 - 同时又使用字段 title.std 作为信号将相关度更高的文档置于 结果顶部每个字段对于最终评分的贡献可以通过自定义值boost 来控制。比如,使title 字段更为重要,这样同

2020-07-09 19:56:45 311

原创 单字符串多字段查询:Dis Max Query

单字符串多字段查询:Dis Max Query算分过程Disjunction Max Query 查询Query)算分过程查询 should 语句中的两个查询加和两个查询的评分乘以匹配语句的总数除以所有语句的总数Disjunction Max Query 查询Disjunction Max Query将任何与任一查询匹配的文档作为结果返回。采用字段上最匹配的评分最终评分返回通过Tie Breaker参数调整(Tier Breaker是一个介于0 - 1 之间的浮点数。

2020-07-09 19:31:36 128

原创 Query&Filtering与多字符串多字段查询

Query&Filtering与多字符串多字段查询Query Context & Filter Contxtbool查询bool查询语法如何解决结构化查询 - "包含而不是相等"的问题增加count字段,是用bool查询解决Filter Context - 不影响算分Query Context - 影响算分bool嵌套查询语句的结构,会对相关度算分产生影响控制字段的boostingQuery Context & Filter Contxt高级搜索功能 : 支持多项文本输入,针对

2020-07-01 22:04:07 224

原创 搜索相关性算分

搜索相关性算分相关性和相关性算分词频相关性和相关性算分相关性 - Relevance搜索的相关性算分,描述了一个文档和查询语句匹配的程度。ES会对每个匹配查询条件的结果进行算分 _score打分的本质是排序,需要把最符合用户需求的文档排在前面。ES 5 之前,默认的相关性算分采用TF-IDF,现在采用BM 25词频Term Frequency :检索词在一篇文档中出现的频率检索词出现的次数除以文档的总字数度量一条查询和结果文档相关性的简单方法,简单将搜索中每一个词的TF进

2020-06-30 21:04:33 284

原创 结构化搜索

结构化搜索ES中的结构化搜索包含而不是相等本节知识点回顾结构化搜索(Structured search) 是指对结构化数据的搜索日期,布尔类型和数字都是结构化的文本也可以是结构化的如菜色笔可以有离散的颜色集合:红,绿,蓝ES中的结构化搜索布尔,时间,日期和数字这类结构化数据:有精确的格式,我们可以对这些格式进行逻辑操作。包括比较数字或者时间范围,或判定两个值的大小。结构化的文本可以做精确匹配或者部分匹配Term查询 / Prefix前缀查询结构化结果只有 “

2020-06-29 21:43:20 2584

原创 基于词项和基于全文的搜索

基于词项和基于全文的搜索基于Term查询复合查询 - Constant Score 转为Filter基于全文的查询基于Term查询Term的重要性Term是表达语意的最小单位。搜索和利用统计语言模型进行自然语言处理都需要处理Term。特点Term Level Query:Term Query / Range Query / Exists Query / Prefix Query / Wildcard Query在ES中,Term查询, 对输入不做分词,如果想要匹配可以采用多字段匹配。会

2020-06-29 20:47:05 324

原创 Elasticsearch小结

Elasticsearch小结产品与使用场景基本概念搜索和Aggregation文档CRUD 与 Index Mapping练习题产品与使用场景基本概念elasticsearch 默认端口是9200搜索和Aggregation文档CRUD 与 Index Mapping练习题题目答案1、错,需要用POST命令创建2、错,update文档 使用POST,PUT只能用来做index或者create3、对4、 默认情况下,会创建相应的索引,并且自己设置Mapping,当

2020-06-20 21:49:32 94

原创 算法面试题

面试题判断括号字符串是否有效题目:给定一个包含大、中、小括号的字符串,判断字符串是否有效用压栈的方式来判断,时间复杂度 O(1) * n = O(n),空间复杂度 O(n)“()” 合法“() []” 合法“([)]” 不合法“((([])))” 不合法]][[ 不合法...

2020-01-08 10:46:16 101

原创 算法与数据结构

算法与数据结构如何有效学习算法与数据结构如何计算算法的复杂度如何有效学习算法与数据结构推荐书:《Outliers》= 《异类 - 不一样的成功启示录》Chunk it up (切碎知识点)Deliberate practicing (刻意练习)Feedback (反馈)算法:SortingLink listlistSpanning treeTreeGr...

2019-11-12 15:17:19 133

原创 python - 标准库

python - 标准库正则表达式库re正则表达式的元字符python标准库的内容:https://docs.python.org/3/library/index.html正则表达式库reimport rep = re.compile('ca*t')print (p.match('caaaat'))正则表达式的元字符.可以匹配任意个字符^以什么样的内容开头$以什么样的内...

2019-11-01 10:41:21 149

原创 python - 多线程编程

多线程编程多线程编程的定义多线程编程的定义

2019-10-29 10:43:01 99

原创 java 工作笔记

java 工作笔记ListNodeStringBuffer 和 StringBuilder的区别:StringBuffer 是线程安全的。StringBuilder 是去掉了保证线程安全的那部分,减少了开销。二者都继承了AbstractStringBuilder,底层都是利用可修改的char数组(JDK 9 以后是byte数组)ListNode...

2019-10-28 17:13:56 129

原创 mysql - 深入浅出索引

mysql - 深入浅出索引索引常见的模型索引是数据库系统里面最重要的概念之一。索引的出现其实就是为了提高数据库查询的效率,就像书的目录一样。索引常见的模型目的:为了提高查询效率。可以用于提高读写效率的数据结构很多。介绍三种常见的,也比较简单的数据结构,分别为哈希表、有序数组和搜索树。哈希表:一种以键 - 值 (key - value) 存储数据的结构,我们只要输入待查找的值即...

2019-10-23 19:57:02 131

原创 python - 面向对象编程

python - 面向对象编程类与实例类与实例面向对象# 定义一个类class Player(): def __init__(self, name, hp): self.name = name self.hp = hp # 定义一个方法 def print_role(self): print ("%s: %s" %...

2019-10-18 17:12:36 147

原创 python - 语法规范

python - 语法规范PEP8编码规范PEP8编码规范https://www.python.org/dev/peps/pep-0008/代码规范:插件

2019-10-17 10:46:45 80

原创 python - 模块

python - 模块定义:是在代码量变得相当大之后,为了将需要重复使用的有组织的代码段放在一起,这部分代码可以附加到现有的程序中,附加的过程叫做导入(import)写法:import 模块名称for 模块名称 import 方法名mymod.py#-*-coding:utf-8-*-def print_me(): print ('me')test.pyim...

2019-10-16 20:42:09 103

原创 python - 函数

python - 函数函数的定义和常用操作函数的定义和常用操作函数:对程序逻辑进行结构化的一种变成方法函数的定义:def 函数名称: 代码 return 需要返回的内容函数的调用:函数名称()练习# 读取人物名称f = open('names.txt')data = f.read()print (data.split('|'))# 读取刀器名称f2...

2019-10-14 14:16:22 136

原创 python - 错误和异常

python - 错误和异常异常异常异常:是在出现错误时,采用正常控制流以外的动作。异常处理的一般流程是:检测到错误,引发异常;对异常进行捕获的操作 try: <监控异常> except Exception[,reason]: <异常处理代码> finally: <无论异常是否发生都执行> 多个异常都可以捕获 : except_...

2019-10-14 13:38:41 112

原创 python - 文件和输入输出

python - 文件和输入输出文件的内建函数文件的常用操作文件的内建函数使用python对文件进行基本的读写操作open() : 打开文件文件模式 w:写入 r:只读 :read() : 输入readline() : 输入一行seek() : 文件内移动write() : 输出close() : 关闭文件练习-# 将小说的主要人物记录在文件中file1 ...

2019-10-14 10:41:25 89

原创 python - 字典的定义和常用操作

python - 字典的定义和常用操作映射的类型:字典列表推导式与字典推导式映射的类型:字典字典:包含哈希值和指向的对象{“哈希值”:“对象”} {‘length’:180, ‘width’:80}练习chinese_zodiac = ‘猴鸡狗猪鼠牛虎兔龙蛇马羊’zodiac_name = (u’摩羯座’, u’水瓶座’, u’双鱼座’, u’白羊座’, u’金牛座’, ...

2019-10-12 22:10:39 811

原创 mysql - 基础架构

01|基础架构:一条SQL查询语句是如何执行的?SQL语句在MySQL 的各个功能模块中的执行过程Server层 涵盖MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎功能都在这一层实现,比如 存储过程、触发器、视图等。连接器 : 负责客户端建立连接、获取权限、维持和管理连接。mysql -h $ip -P $port -u...

2019-10-12 20:08:44 128

原创 python 入门条件与循环

python 入门条件与循环条件语句for循环while循环for循环语句中的if嵌套while循环语句中的if嵌套条件语句ifif语句if表达式:代码块if语句还可以和else、elif(else if)语句组合构成更复杂的判断if表达式:代码块 elif 表达式:代码块 else:代码块练习chinese_zodiac = ‘鼠牛虎兔龙蛇马羊猴鸡狗猪...

2019-10-12 16:54:09 168

原创 python 入门小记

python 入门小记????基本数据类型练习变量:可以多次进行赋值序列:是指它的成员都是有序排列,并且可以通过下标偏移量访问到它的一个或几个成员。基本数据类型整型(int)浮点型(float)字符串(str)布尔值(bool)练习int 转 str : str(1)str 转 int:int(‘8’)int 转 bool (不等于0 都是true) :bool(1) ...

2019-10-11 20:59:02 126

原创 Index Template和Dynamic Template

Index Template和Dynamic Template什么是Index templateIndex template的工作方式什么是Dynamic Template什么是Index templateIndex Templates - 帮助设定Mapping 和 Settings,并按照一定的规则,自动匹配到新创建的索引上模板仅在一个索引被新创建时,才会产生作用,Index...

2019-09-26 21:57:07 260

原创 多字段特性及Mapping中配置自定义Analyzer

多字段特性及Mapping中配置自定义Analyzer多字段类型Exact Value v.s Full Text精确值和全文本最大的区别自定义分词多字段类型多字段特性厂商名字实现精确匹配增加一个keyword使用不同的analyzer不同语言pinyin字段的搜索还支持为搜索和索引指定不通的analyzerExact Value v.s Full Text...

2019-09-26 21:36:57 156

原创 基于词项和基于全文的搜索、结构化搜索

基于词项和基于全文的搜索基于Term的查询结构化搜索基于Term的查询Term的重要性Term是表达语意的最小单位。搜索和利用统计语言模型进行自然语言处理都需要处理Term。特点Term Level Query:Term Query / Range Query / Exists Query / Prefix Query / Wildcard Query在ES中,Term 查询...

2019-09-12 19:20:55 265

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除