Smart_cxr
码龄7年
关注
提问 私信
  • 博客:83,347
    83,347
    总访问量
  • 112
    原创
  • 1,175,405
    排名
  • 12
    粉丝
  • 0
    铁粉

个人简介:没伞的孩子,必须努力奔跑!!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:福建省
  • 加入CSDN时间: 2018-02-06
博客简介:

Smart_cxr的博客

博客描述:
博主很懒,什么都没留下。。。。
查看详细资料
个人成就
  • 获得6次点赞
  • 内容获得2次评论
  • 获得23次收藏
创作历程
  • 1篇
    2019年
  • 111篇
    2018年
成就勋章
TA的专栏
  • bigdata
    48篇
  • spark
    17篇
  • Linux
    6篇
  • Elasticsearch
    37篇
  • python
    3篇
  • java
    1篇
  • Effective Java
    1篇
兴趣领域 设置
  • 人工智能
    机器学习深度学习自然语言处理pytorchnlp
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

349人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Spark RDD及编程接口

1.介绍对于一个Spark程序而言,一般情况下RDD操作之间的关系图如下所示,经过输入(创建)操作,转换操作,输出操作(action操作)来完成一个作业。2.Spark RDDRDD是弹性分布式数据集,即一个RDD代表了一个被分区的只读数据集,RDD可以通过两种方式生成,一种是来自内部或者外部的存储系统,另一种是通过转换操作(transform)来自其他的RDD,比如Map、fil...
原创
发布博客 2019.03.19 ·
755 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Java23中设计模式视频教程

发布资源 2018.12.27 ·
txt

第9条:覆盖equals时总要覆盖hashCode

import java.util.HashMap;import java.util.Map;public final class PhoneNumber { private final short areaCode; private final short prefix; private final short lineNumber; public PhoneNumber(in...
原创
发布博客 2018.12.27 ·
287 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

大数据技术

发布资源 2018.12.26 ·
txt

大数据实战项目

发布资源 2018.12.26 ·
txt

Elasticsearch多shard场景下relevance score不准确问题

1、多shard场景下relevance score不准确问题大揭秘如果你的一个index有多个shard的话,可能搜索结果会不准确图解2、如何解决该问题?(1)生产环境下,数据量大,尽可能实现均匀分配数据量很大的话,其实一般情况下,在概率学的背景下,es都是在多个shard中均匀路由数据的,路由的时候根据_id,负载均衡比如说有10个document,title都包含j...
原创
发布博客 2018.12.02 ·
485 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

ElasticSearch的segment merge操作

每秒一个segment file,文件过多,而且每次search都要搜索所有的segment,很耗时默认会在后台执行segment merge操作,在merge的时候,被标记为deleted的document也会被彻底物理删除每次merge操作的执行流程(1)选择一些有相似大小的segment,merge成一个大的segment(2)将新的segment flush到磁盘上去(3)...
原创
发布博客 2018.12.01 ·
1090 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Elasticsearch的写入优化

再次优化的写入流程(1)数据写入buffer缓冲和translog日志文件(2)每隔一秒钟,buffer中的数据被写入新的segment file,并进入os cache,此时segment被打开并供search使用(3)buffer被清空(4)重复1~3,新的segment不断添加,buffer不断被清空,而translog中的数据不断累加(5)当translog长度达到一定程度的时...
原创
发布博客 2018.11.29 ·
515 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Elasticsearch的NRT优化,近实时查询

现有流程的问题,每次都必须等待fsync将segment刷入磁盘,才能将segment打开供search使用,这样的话,从一个document写入,到它可以被搜索,可能会超过1分钟!!!这就不是近实时的搜索了!!!主要瓶颈在于fsync实际发生磁盘IO写数据进磁盘,是很耗时的。写入流程别改进如下:(1)数据写入buffer(2)每隔一定时间,buffer中的数据被写入segment文件,...
转载
发布博客 2018.11.29 ·
443 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Elasticsearch的document增删改原理

(1)数据写入buffer(2)commit point(3)buffer中的数据写入新的index segment(4)等待在os cache中的index segment被fsync强制刷到磁盘上(5)新的index sgement被打开,供search使用(6)buffer被清空每次commit point时,会有一个.del文件,标记了哪些segment中的哪些documen...
原创
发布博客 2018.11.29 ·
193 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Elasticsearch的倒排索引结构

倒排索引,是适合用于进行搜索的倒排索引的结构(1)包含这个关键词的document list(2)包含这个关键词的所有document的数量:IDF(inverse document frequency)(3)这个关键词在每个document中出现的次数:TF(term frequency)(4)这个关键词在这个document中的次序(5)每个document的长度:length...
原创
发布博客 2018.11.29 ·
252 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Elasticsearch的倒排索引结构

倒排索引,是适合用于进行搜索的倒排索引的结构(1)包含这个关键词的document list(2)包含这个关键词的所有document的数量:IDF(inverse document frequency)(3)这个关键词在每个document中出现的次数:TF(term frequency)(4)这个关键词在这个document中的次序(5)每个document的长度:length...
原创
发布博客 2018.11.29 ·
252 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Elasticsearch的零停机重建索引

1、重建索引一个field的设置是不能被修改的,如果要修改一个Field,那么应该重新按照新的mapping,建立一个index,然后将数据批量查询出来,重新用bulk api写入index中批量查询的时候,建议采用scroll api,并且采用多线程并发的方式来reindex数据,每次scoll就查询指定日期的一段数据,交给一个线程即可(1)一开始,依靠dynamic mapping...
原创
发布博客 2018.11.29 ·
666 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Elasticsearch的零停机重建索引

1、重建索引一个field的设置是不能被修改的,如果要修改一个Field,那么应该重新按照新的mapping,建立一个index,然后将数据批量查询出来,重新用bulk api写入index中批量查询的时候,建议采用scroll api,并且采用多线程并发的方式来reindex数据,每次scoll就查询指定日期的一段数据,交给一个线程即可(1)一开始,依靠dynamic mapping...
原创
发布博客 2018.11.29 ·
666 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Elasticsearch的dynamic策略

1、定制dynamic策略true:遇到陌生字段,就进行dynamic mappingfalse:遇到陌生字段,就忽略strict:遇到陌生字段,就报错PUT /my_index{  "mappings": {    "my_type": {      "dynamic": "strict", //设置了strict,添加字段报错      "prop...
原创
发布博客 2018.11.29 ·
1743 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Elasticsearch的索引管理

1、root object就是某个type对应的mapping json,包括了properties,metadata(_id,_source,_type),settings(analyzer),其他settings(比如include_in_all)PUT /my_index{  "mappings": {    "my_type": {      "properties": ...
原创
发布博客 2018.11.29 ·
210 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Elasticsearch的type数据结构

type,是一个index中用来区分类似的数据的,类似的数据,但是可能有不同的fields,而且有不同的属性来控制索引建立、分词器field的value,在底层的lucene中建立索引的时候,全部是opaque bytes类型,不区分类型的lucene是没有type的概念的,在document中,实际上将type作为一个document的field来存储,即_type,es通过_type来进行...
原创
发布博客 2018.11.29 ·
1008 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Elasticsearch的query phase和fetch phase

1、query phase(1)搜索请求发送到某一个coordinate node,构构建一个priority queue,长度以paging操作from和size为准,默认为10(2)coordinate node将请求转发到所有shard,每个shard本地搜索,并构建一个本地的priority queue(3)各个shard将自己的priority queue返回给coordinat...
原创
发布博客 2018.11.28 ·
736 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Elasticsearch的算法介绍

1、算法介绍relevance score算法,简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度Elasticsearch使用的是 term frequency/inverse document frequency算法,简称为TF/IDF算法Term frequency:搜索文本中的各个词条在field文本中出现了多少次,出现次数越多,就越相关搜索请求:h...
原创
发布博客 2018.11.28 ·
2610 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Elasticsearch的filter与query性能

1、filter与query示例PUT /company/employee/2{  "address": {    "country": "china",    "province": "jiangsu",    "city": "nanjing"  },  "name": "tom",  "age
原创
发布博客 2018.11.27 ·
370 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多