自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一枚程序员的博客

学习Java,Spring,大数据

  • 博客(45)
  • 资源 (27)
  • 收藏
  • 关注

转载 ElasticSearch的Java Api基本操作入门指南

ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎框架。分布式是其最大的特点。安装比较简单,如果单机运行的话直接下载解压,在命令行下运行bin/elasticsearch就行了(win的dos和linux的窗口都行)。它能够通过http、restful、thrift等方式访问。不过今天我们看的是使用最普通的java api来测试其功能。 ja

2018-01-11 17:24:32 215

转载 Intellij IDEA 像eclipse那样给maven添加依赖

打开pom.xml,在它里面使用快捷键:ALT+Insert  ————>点击dependency再输入想要添加的依赖关键字,比如:输个spring   出现下图:根据需求选择版本,完成以后结果如下图:

2018-01-11 14:13:12 8870 2

转载 tomcat通过ssh代理连接到内网数据库服务器

项目的测试数据库服务器是在某内网的,现在要通过ssh的代理隧道,连接到内网的数据库解决方法:用xshell连接到ssh服务器打开查看-隧道窗体新建转移规则类型: Local(Outgoing)源主机: localhost(自己开发电脑的ip)侦听端口: 1521目标主机: 192.168.101.102(ssh的局域网ip都可以)目标端口: 1521这一步lin

2018-01-11 10:42:59 1067

原创 ElasticSearch60:Java api操作ElasticSearch5.2

1.创建Maven项目的时候,因为是公司内网,所以需要解决代理的问题,配置代理2.创建Maven项目3.配置pom.xml,引用jar包4.编码

2018-01-11 10:39:16 516

原创 Maven配置问题

1.今天在公司配置meven的时候,基本的配置都ok了,使用mvn -version也可以看到maven的版本号了,说明maven安装ok。但是在IDEA中创建maven项目的时候,发现,一直无法下载到jar包文件。原因:公司内网下载资源,需要配置代理在Maven的conf目录下的setting.xml文件中,配置代理:去除了注释的版本:<settings xmlns="ht

2018-01-11 10:33:01 244

原创 IDEA代理问题

今天,在使用IDEA下载东西的时候,发现一直没办法进行下载,调试了半天无果,问了同事,发现是代理的问题,公司内网项目需要配置代理。IDEA配置代理,是在File-&gt; Setting中设置图片地址:http://img.my.csdn.net/uploads/201801/11/1515637911_8419.png...

2018-01-11 10:22:54 14624 2

原创 ES参考文章

1.Elasticsearch5.0.1 + Kibana5.0.1 + IK 5.0.1安装记录http://www.cnblogs.com/kamong/p/6099914.html2.

2018-01-11 10:02:31 200

原创 ElasticSearch58:内核原理揭秘_最后优化写入流程实现海量磁盘文件合并(segment merge, optimize)

1.每秒一个segment file,文件过多,而且每次search都要搜索所有的segment,很耗时默认会在后台执行segment merge操作,在merge的时候,被标记为deleted的document也会被彻底物理删除每次merge操作的执行流程1)选择一些有相似大小的segment,merge成一个大的segment2)将新的segment flush到磁盘上去3

2018-01-10 16:41:39 902

原创 ElasticSearch58:内核原理探秘_继续优化写入流程实现durability可靠存储(translog,flush)

1.上一篇文章中提到index segment只要刷入到os cache后,就打开供查询,这个操作是非常危险的,一旦未将数据刷入到os disk,而此时数据丢失,将会导致不可逆的问题。所以本篇补充,继续进行优化docuemnt写入流程。2.最终的优化的写入流程:1)数据写入buffer缓冲和translog日志文件中。当你写一条数据document的时候,一方面写入到buffe

2018-01-10 15:22:17 527

原创 ElasticSearch57:内核原理探秘_优化写入流程实现NRT近实时(filesystem cache,refresh)

1.现有流程的问题,每次都必须等待fsync将segment刷入磁盘,才能将segment打开供search使用,这样的话,从一个document写入,到它可以被搜索,可能会超过一分钟!!!这就不是近实时的搜索了!主要瓶颈是在fsync实际发生磁盘IO写数据进磁盘,是很耗时的。写入流程改进:1)数据写入到内存buffer队列中2)每隔一定时间,buffer中的数据被写入segm

2018-01-10 15:21:08 1332

原创 ElasticSearch56:内核原理探秘_深度图解剖析document写入原始(buffer,segment,commit)

1.数据docuemnt往es中写的时候发生了什么?一个document写入es中时,1)首先写入到内存buffer缓冲中2)每次buffer满的时候,会进行提交操作commit point,将buffer中的数据写入到index的segment中(一个index有多个segment)   在es底层,用的是lucense,lucense底层的index是分为多个segment的,

2018-01-09 17:47:39 316

原创 ElasticSearch54:索引管理_复杂上机实验:基于scroll+bulk+索引别名实现零停机重建索引

1.重建索引一个field的设置是不能修改的,如果要修改一个field,那么应该重新按照新的mapping,建立一个index,然后将数据批量查询出来,重新用bulk api写入到index中。批量查询的时候,建议采用scroll api,并且采用多线程并发的方式来reindex数据,每次scroll就查询指定日期的一段数据,交给一个线程即可。1)一开始,依靠dynamic map

2018-01-09 16:43:52 386

转载 分享一个跳一跳的刷分程序程序(python)

https://github.com/wangshub/wechat_jump_game仅供娱乐,切勿破坏游戏的公平

2018-01-09 16:37:34 2448

原创 ElasticSearch53:索引管理_定制自己的dynamic mapping策略

1.定制dynamic策略true:遇到陌生字段,就进行dynamic mappingfalse:遇到陌生字段,就忽略strict:遇到陌生字段,就报错例子:PUT /index0{ "mappings":{ "my_type":{ "dynamic":"strict", "properties": { "title":

2018-01-09 13:19:27 2762

原创 ElasticSearch52:索引管理_mapping root object深入剖析

1.root object是什么?就是某个type对应的mapping json,包括properties,metadata(_id,_source,_type),settings(analyzer),其他settings(比如include_in_all)其中,下面的{            "properties":{            }            .

2018-01-09 09:20:21 1825

原创 ElasticSearch51:索引管理_内核级知识点_深入探秘type底层数据结构

1.每个index对应的type底层结构是怎样的?type,是一个index中用来区分类似的数据的数据结构,但是可能有不同的field,而且有不同的属性来控制索引建立、分词器field的value,在底层的lucense中建立索引的时候,全部是opaque bytes类型,不区分类型。lucense是没有type的概念,在document中,实际上是将type作为一个document的

2018-01-08 17:32:27 246

原创 ElasticSearch50:索引管理_快速上机动手实战修改分词器以及定制自己的分词器

1.默认的分词器standardstandard tokenizer:以单词的边界进行切分standard token filter:什么都不做lowercase token filter:将所有字母转换成小写stop token filter(默认被禁用),移除停用词,比如a the it等等2.修改分词器的设置例子:启用standard的基于english的

2018-01-08 17:31:24 1579

原创 ElasticSearch49:索引管理_快速上机动手实战创建、修改以及删除索引

1.为什么要手动创建索引?更加灵活2.创建索引例子:PUT /index0{  "settings": {    "number_of_shards": 1,    "number_of_replicas": 0  },  "mappings": {    "mytype":{      "properties": {        "myfie

2018-01-08 17:28:15 177

原创 ElasticSearch48:初识搜索引擎_上机动手实战基于scroll技术滚动搜索大量数据

1.为什么使用srcoll滚动搜索问题:如果一次性查询出100000条数据,那么性能会很差,此时一般会采用scroll滚动查询,一批一批的查,知道所有数据都查询完。使用scroll滚动搜索,可以先搜索一批数据,然后下次再搜索一批数据,以此类推,知道搜索出全部的数据。scroll搜索会在第一次搜索的时候,保存一个当时的视图快照,之后只会基于该旧的视图快照提供数据搜索,如果这个期间数据

2018-01-08 09:19:02 519

原创 ElasticSearch47:初识搜索引擎_搜索相关参数梳理以及bouncing results问题解决方法

1.preference决定了哪些shard会被用来执行搜索操作_primary(只搜索primary shard),  _primary_first(primary shard优先), _local, _only_node:xyz, _prefer_node:xyz, _shards:2,3bouncing results问题:两个document排序,field值相同,不同的sha

2018-01-08 09:18:17 747 1

原创 ElasticSearch46:初识搜索引擎_分布式搜索引擎内核揭秘之fetch phase

1.fetch phase的工作流程1)coordinate node构建完priority queue之后,就发送mget请求去所有shard上获取对应的document2)各个shard将document返回给coordinate node3)coordinate node将合并后的document结果返回给client客户端图解:http://img.my.csdn.

2018-01-06 17:22:51 209

原创 ElasticSearch45:初识搜索引擎_分布式搜索引擎内核揭秘之query phase

1.query phase1)搜索请求发送到一个coordinate node,构建一个priority queue,长度以paging操作from和size为准,默认102)coordinate node将请求转发到所有shard,每个shard本地搜索,并构建一个本地的priority queue3)各个shard将自己的priority queue返回给coordinate no

2018-01-06 17:02:59 310

原创 ElasticSearch44:初识搜索引擎_内核级知识点之doc value初步探秘

1.搜索的时候,要依靠倒排索引:排序的时候,需要依靠正排索引,看到每个document的每个field,然后进行排序,所谓的正排索引,其实就是doc values在建立索引的时候,一方面会建立倒排索引,以供搜索用;一方面建立正排索引,也就是doc values,以供排序,聚合,过滤等操作使用doc values是被保存在硬盘上的,此时如果内存足够,os会自动将其缓存在内存中,性能还是会很高

2018-01-06 14:16:19 246

原创 ElasticSearch43:初识搜索引擎_相关度评分TF&IDF算法揭秘

1.算法介绍relevance score算法,简单来说,就是计算出,一个索引中的文本,与搜索的文本,他们之间的关联匹配程序ElasticSearch使用的是term frequency/inverse document frequency算法,简称TF/IDF算法Term frequency,搜索文本中的各个词条在field文本中出现了多少次,出现次数越多,就越相关Inverse

2018-01-06 13:19:25 988

原创 ElasticSearch42:初识搜索引擎_揭秘如何将一个field索引两次来解决字符串排序问题

1.字符串排序有什么问题?如果对一个string field进行排序,结果往往不准确,因为分词后是多个单词,再排序就不是我们想要的结果了。通常解决方案是:将一个string field建立两次索引,一个分词,用来搜索,一个部分次,用来进行排序例子:GET /website/article/_search{  "query": {    "match_all": {}

2018-01-05 16:45:57 381

原创 ElasticSearch41:初识搜索引擎_上机动手实战如何定制搜索结果的排序规则

1.默认排序规则默认情况下,是按照_score降序排序的,然后在某些情况下,如filter,不计算_score,所以没有可用的_score例子:GET /test_index/test_type/_search{  "query": {    "bool": {      "filter": {        "term": {          "test

2018-01-05 15:23:48 214

原创 ElasticSearch40:初识搜索引擎_上机动手实战如何定位不合法的搜索以及其原因

1.ES提供了定位不合法搜索查询的原因语法GET /index/type/_validate/query?explain{  }例子:GET /test_index/test_type/_validate/query?explain{  "query":{    "matah":{      "test_field":"haha"    }  }

2018-01-05 15:22:15 209

原创 ElasticSearch39:初识搜索引擎_上机动手实战多搜索条件组合查询

1.组合查询querybool 在bool中可以放must,must_not,should,filter 例子: GET /website/article/_search{ "query": { "bool": { "must": [ {"match": { "title": "elasticsearch"

2018-01-04 11:38:07 234

原创 ElasticSearch38:初识搜索引擎_上机动手实战常用的各种query搜索语法

1.match allGET /company/employee/_search{  "query": {    "match_all": {}  }}2.matchGET /company/employee/_search{  "query": {    "match": {      "name": "tom"    }  }}

2018-01-04 11:21:21 287

原创 ElasticSearch37:初识搜索引擎_query和filter深入对比揭秘:相关度、性能

1.准备数据PUT /company/employee/1{ "address":{ "province":"zhejiang", "city":"wenzhou", "country":"china" }, "name":"tom", "age":31, "join_date":"2015-01-02"}PUT /company/employ

2018-01-04 10:54:25 270

原创 ElasticSearch36:初识搜索引擎_快速上机动手实战Query DSL搜索语法

1.match allGET /website/article/_search{ "query": { "match_all": {} }}执行结果:{ "took": 38, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0

2018-01-04 09:43:50 317

原创 ElasticSearch35:初识搜索引擎_search api的基础语法介绍

1.search api的基础语法GET /test_index/test_type/_searchGET /_searchGET /test_index,company/test_type,employee/_searchGET /_search{  "from":0,  "size":3}2.http协议中get是否可以带上request body

2018-01-03 16:58:49 189

原创 ElasticSearch34:初识搜索引擎_mapping复杂数据类型以及object类型数据底层结构揭秘

ElasticSearch34:初识搜索引擎_mapping复杂数据类型以及object类型数据底层结构揭秘1.mapping复杂数据类型1)multivalue field,字段可以接收多个值{"tags":["tag1","tag2"]}建立索引时与string是一样的,数据类型不能混。2)empty fieldnull, [],  [null]3)

2018-01-03 14:58:51 363

原创 ElasticSearch33:初识搜索引擎_手动建立和修改mapping以及定制sting类型数据是否分词

1.如何建立索引string类型的字段,是否进行分词设置:需要进行分词 analyzed不进行分词 not_analyzed不能进行搜索 no2.新增或修改mapping只能在创建index时手动建立mapping,或者新增field mapping,但是不能update field mapping1)新建mapping例子:PUT /website{

2018-01-03 14:12:58 1619

原创 ElasticSearch32:初识搜索引擎_mapping的核心数据类型以及dynamic mapping

1.核心的数据类型stringbyte,short,integer,longfloat,doublebooleandate2.dynamicmappingES根据输入的数据,推测出数据类型,推测规则如下 trueor false->boolean123->long123.45->double2017-01-01->date"helloworld"

2018-01-03 13:10:30 172

原创 ElasticSearch31:初识搜索引擎_什么是mapping,透彻理解

1)往ES里面直接插入数据,es会自动建立索引,同事建立type以及对应的mapping2)mapping中就自动定义了每个field的数据类型3)不同的数据类型(比如text和date),可能有的是exact value,有点是full text4)exact value,在建立倒排索引的时候,进行分词的时候,是将整个字段作为一个关键词建立到倒排索引中,full text会经过各种各

2018-01-03 10:27:21 345

原创 ElasticSearch30:初识搜索引擎_query string的分词以及mapping引入案例遗留问题的大揭秘

1.query string的分词query string 必须以和index建立时相同的analyzer建立分词query string对exact value和full text区别对待,不同类型的field可能有些是full text,有的是exact value例如:date:exact value           _all:full text比如说,我

2018-01-02 16:19:44 498

原创 ElasticSearch29:初识搜索引擎_分词器的内部组成到底是什么以及内置分词器的介绍

1.分词器的内部组成什么是分词器:切分词语,normalization(提升recall召回率)给你一段句子,然后将这段句子拆分成一个一个的单词,同时对每个的单词进行normalization(时态转换,单复数转换等),分词器recall召回率:搜索的时候,增加能够搜索到的结果的数量分为三个部分character filter,过滤,在一段文本分词之前,先进行预处理,如过滤html标签123转换未

2018-01-02 15:55:36 355

原创 ElasticSearch28:初识搜索引擎_倒排索引核心原理快速揭秘

1.认识倒排索引有两段话:doc1: I really liked my small dogs ,and I think my mom also liked them.doc2:He never liked any dogs,so I hope that my mom will not expect me to liked him.word        doc1            doc2I

2018-01-02 15:23:28 183

原创 ElasticSearch27:初识搜索引擎_精确匹配与全文检索的对比分析

1.exact value如2017-01-01,如果是exact value搜索的时候,必须输入2017-01-01,才能搜索出来如果输入一个01,是搜索不出来的。也就是说exact value必须是一样的搜索关键词才能搜索出来。2.full text1)缩写 vs,全程,cn vs China2)格式转化,like liked likes3)大小写,Tom vs tom4)同义词,like v

2018-01-02 14:58:43 767

健康管理师-技能操作-思维导图.pdf

健康管理师-技能操作-思维导图.pdf健康管理师-技能操作-思维导图.pdf健康管理师-技能操作-思维导图.pdf健康管理师-技能操作-思维导图.pdf健康管理师-技能操作-思维导图.pdf健康管理师-技能操作-思维导图.pdf健康管理师-技能操作-思维导图.pdf

2021-06-01

健康管理师-基础知识-思维导图.pdf

健康管理师-基础知识-思维导图.pdf健康管理师-基础知识-思维导图.pdf健康管理师-基础知识-思维导图.pdf健康管理师-基础知识-思维导图.pdf

2021-06-01

BCT脑功能连接(2017)程序

BCT脑功能连接(2017)程序

2020-07-01

ssm复习串讲.mmap

贡献自己的收藏。SSM知识总结

2020-06-17

软件需求规格说明书模板(超详细).doc

软件需求规格说明书模板(超详细),参考书籍 1. 《软件工程基础》 赵一丁 北京邮电大学出版社 2. 《软件需求》 劳森 (作者), 刘晓晖 (译者) 电子工业出版社 3. 《软件需求工程:原理和方法》 金芝,刘璘,金英 科学出版社 4. 《实用软件工程》第三版 殷人昆 清华大学出版社 5. 《电子政务发展需求与效益分析》 朱建明 经济科学出版社 6. 《电子政务信息系统的规划与建设》 田景熙,洪琢 人民邮电出版社 7. 《电子政务信息公平研究》 唐思慧 世界图书出版公司 8. 《电子政务系统的需求分析》 甘明鑫,曹菁  机械工业出版社

2020-03-09

去哪儿mysql开发规范.pdf

去哪儿mysql开发规范.pdf

2020-01-02

MockGPS_20181031_v1.9.3.1.apk.zip

MockGPS 1.5(亲测可用),亲测可用。MockGPS 1.5(亲测可用),亲测可用MockGPS 1.5(亲测可用),亲测可用MockGPS 1.5(亲测可用),亲测可用

2020-01-02

qmctomp3.zip

qmc3格式文件转为mp3 亲测可用

2019-11-07

数据结构1800题【内含完整答案完整版】.zip

数据结构1800题,希望对2020年kaoyan同学有帮助吧。谢谢

2019-09-07

zookeeper-3.5.3-beta配置版.zip

zookeeper官网下载不到,故自己从网上查找到,zookeeper3.5.3。上传供自己使用,也供他人便利。 zookeeper到服务端和客户端到版本号必须一致,不然注册不上去。

2019-08-14

蚂蚁金服serviceMesh落地实践与挑战

蚂蚁金服serviceMesh落地实践与挑战,讲解蚂蚁金服在落地ServiceMesh中遇到的一系列问题及解决思路。 来自大会PPT。

2019-06-26

2018开源软件集合

2018年是开源软件发展迅速的一年,good year。冒出的软件不乏dubbo等等

2019-01-31

zabbix_oracle监控模版

zabbix3.4.1 通过orabbix监控oracle数据库,通过percona监控mysql数据库,agentd可以走proxy agent不能走proxy****

2018-12-04

十次方技术架构图

黑马+十次方+最新微服务+Docker+DevOps思维,最新的分布式服务思想。可以一睹技术架构,现在的绝大多数互联网架构都会靠向这个模式。

2018-10-28

RocketMQ相关资料(含rocketmq3.4.2用户指南)

阿里RocketMQ_用户指南_V3.2.4_最新版本.pdf benchmark.pdf Metaq在JDk 7下的异常及解决方案.docx mqvsmq.pdf RocketMQ_原理简介.pdf RocketMQ_admin.pdf RocketMQ_benchmark.pdf RocketMQ_calvinzhan - 类图.pdf RocketMQ_calvinzhan.pdf RocketMQ_design-整体设计文档.pdf RocketMQ_design.pdf RocketMQ_experience.pdf RocketMQ_userguide_04.02_down.pdf RocketMQ_userguide.pdf rocketmq-原理简析(适合初级使用者).docx RocketMQ:一个纯java的开源消息中间件--开发测试环境搭建.doc RocketMQ的一些特性.doc RocketMQ命令整理.doc RocketMQ群问题整理.docx RocketMQ运维指令整理.docx

2018-06-30

SparkCESHI版代码

SparkCESHI版代码SparkCESHI版代码SparkCESHI版代码SparkCESHI版代码

2018-04-28

寻屋项目源码(简易版)

寻屋项目源码(简易版)寻屋项目源码(简易版)寻屋项目源码(简易版)

2018-04-04

知识导图_it

知识导图

2018-03-22

思想导图_xmind说明

思想的境界在于无限,无界限 思想的境界在于无限,无界限 思想的境界在于无限,无界限

2018-03-22

京淘网上商城-综合网购首选(JD.COM)

京淘网上商城-综合网购首选(JD.COM)-正品低价、品质保障、货到付款、配送及时、放心服务、轻松购物!

2018-03-19

项目源码_Java语言从零开始创建区块链.

项目源码_Java语言从零开始创建区块链.项目源码_Java语言从零开始创建区块链.

2018-03-19

项目源码_dangdang加强版

项目源码_dangdang加强版,源码项目源码_dangdang加强版

2018-03-19

Java操作ES5.x api

Java操作ES5.2版本,仅供参考,里面提供两个方法,查询和判断集群状态

2018-01-11

个人总结web

2017-03-15

个人开发总结文件夹

2017-03-15

iis部署上线文档

2017-03-15

空空如也

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

TA关注的人

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