- 博客(239)
- 资源 (32)
- 收藏
- 关注
原创 Elasticsearch的Javascript Client使用指南
一、添加js库 使用Elasticsearch Javascript API需要两个JS库的支持,一个是JQuery[下载地址:http://www.jq22.com/jquery/jquery-1.8.3.zip],一个是elasticsearch.js[下载地址:https://download.elasticsearch.org/elasticsearch/elasticsearch-j
2017-12-23 02:46:20 4864 3
原创 HDFS文件读写流程
一、HDFS体系结构HDFS作为分布式文件系统,使用的是master/slave体系结构,角色有三种: NameNode:为HDFS提供元数据服务,NameNode可以控制所有文件的操作,它会把所有的文件元数据存储在文件系统树中,文件信息在硬盘上保存成两个文件:命名空间镜像文件(fsimage)和修改日志文件(edit log)。此外,NameNode还保存一个文件,用来存储数据块在数据节点的分布
2017-12-11 19:47:33 737
原创 《从Lucene到Elasticsearch:全文检索实战》已出版!
一、前言决定在CSDN写博客的原因是想把自己解决过的问题、踩过的坑、总结出来的经验记录下来,作为编程之路的“笔记本”,同时也能给遇到同样问题的人提供参考、节省时间,写书的初衷也一样。二、缘起说一下写书的前因后果。中国科学院大学雁栖湖校区是很重要的一年,师资团队无可挑剔,每次上课去的稍微晚一点,300人的大教室都没有座位。对于计算机学院而言,大数据、机器学习、信息检索(搜索引擎)、算...
2017-12-05 01:48:47 9940 13
原创 Mybatis开启数据库字段自动映射为驼峰命名
遇到查询数据库表中的数据,其它字段都有内容,只有其中一个字段内容为null。mysql中该字段的命名为head_url,后来查明原因是需要在Mybatis开启数据库字段自动映射为驼峰命名。在mybatis-config.xml中设置mapUnderscoreToCamelCase属性为true:<settings> <!-- Globally enables or disables
2017-11-07 15:24:07 8930
原创 Leetcode SQL题
176. Second Highest Salary Write a SQL query to get the second highest salary from the Employee table.+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |
2017-10-22 11:08:31 816
原创 Elasticsearch面试题系列
1.query是怎么分发到每个节点的?2.Elasticsearch使用上的优化有哪些?3.怎么避免脑裂?4.query和filter的区别?5.Elasticsearch的缺点有哪些?你觉得可以在哪些地方进行改进?6.Lucene加快查询的机制有哪些?7.如何使用Lucene构建分布式索引?8.说一下master节点选举算法9.El...
2017-10-21 23:09:04 11518
原创 Spark机器学习环境搭建
一、Spark环境搭建1.1 下载Spark下载地址:http://spark.apache.org/downloads.html 下载完成后解压即可。 把spark的运行目录加到环境变量:#Spark Homeexport SPARK_HOME=/usr/local/Cellar/spark-2.1.0-bin-hadoop2.7export PATH=$PATH:$SPARK_HOME/
2017-10-11 12:03:35 4172 2
原创 (spring全家桶十)Spring Statemachine有限状态机与地址分析
一、有限状态机有限状态机是一个特殊的有向图,包含节点和连接这些节点的弧。每个有限状态机都有开始、结束和若干个中间状态,每个弧上带有从一个状态进入下一个状态的条件。以一个简化的购物流程为例,开始和结束之间有待下单、待支付、待发货、待收货四个状态,从一个状态转向另外一个状态中间需要发送事件。有限状态机可以用于中文地址分析,识别地址的有限状态机如下。给出一个地址,如果当前状态是“省”,后面一个词组是二级市
2017-09-23 15:47:28 5339 2
原创 Elasticsearch 集群优化总结
一、硬件层面优化配置(1) 合理选择服务器。Elasticsearch的运行对JDK版本、Linux内核、最小内存等都有一定的要求,在安装部署集群之前需要选择和Elasticsearch版本匹配的的服务器配置,同时也要根据业务量做集群规划。(2)提高Linux系统应用程序最大打开文件数。在启动Elasticsearch集群以前,增大机器的最大文件数,可以避免数据导入高峰时期打开文件过多异常的发生。
2017-09-10 20:01:36 4421 3
原创 Elasticsearch 5.4新闻搜索项目实战视频教程-姚攀-专题视频课程
Elasticsearch 5.4新闻搜索项目实战视频教程:本课程基于Java开发,通过项目案例的方式讲解Elasticsearch分布式搜索引擎(Elasticsearch索引)中的核心技术,ES的版本为5.4,学员学习本课程以后可以初级实现类似百度新闻搜索项目。ElasticSearch是一个基于Lucene的分布式搜索引擎,适合做大数据搜索和大数据分析,百度、腾讯、360、斗鱼、快手...
2017-08-14 09:42:42 1093
原创 java作业调度框架Quartz
在软件开发中,很多时候需要在特定时间的时间执行某些操作,比如每天的凌晨三点、每周的周日、每个月的15号,Apache Quartz就是一个开源的作业调度框架,可以让计划的程序任务一个预定义的日期和时间运行。这篇博客记录一下Quartz的安装、重要概念和入门例子。一、Quartz下载Quartz官网:http://www.quartz-scheduler.org/以2.2.3版本为例,下载 Quart
2017-07-31 23:10:29 3909 9
原创 JVM运行时数据区和垃圾回收机制
最近参考各种资料,尤其是《深入理解Java虚拟机 JVM高级特性和最佳实践》,大牛之作。把最近学习的Java虚拟机组成和垃圾回收机制总结一下。你不会的都是新知识,学无止境,每天进步一点点。一、认识Java虚拟机在开始学Java之时,必做的一件事就是从Java官网下载并安装Java到我们的电脑之上,然后从HelloWorld开始走上编程的不归路。 上图中下载的Java安装包全称是Java SE De
2017-07-31 00:13:07 2281 5
原创 Java集合体系总结
Java集合体系总结,Iterator和ListIterator、ArrayList和LinkedList、HashSet和TreeSet、HashMap和TreeMap...
2017-07-30 01:26:50 1504
原创 Linux文件权限总结
一、用户组和用户Linux是一个多用户、多任务环境,如下图,GroupA代表一个用户组,GroupB代表一个用户组,root是超级用户。Linux中,任何一个文件都有User、Group和others3种身份的级别。以UserB为例,UserB属于GroupA,UserE相对于UserB就是others。二、文件属性查看文件属性的命令:ls -al在一个文件夹下使用上述命令:返回结果从左到右一共有7
2017-07-14 19:29:34 1230
原创 elasticsearch聚合案例--分组、求最大值再求最大值的均值
#一、需求 A、B、C代表3个用户,第二列代表各自的得分,求A、B、C的最好成绩以及A、B、C最好成绩的均值A 10A 11A 13B 11B 11B 12C 10C 10C 11C 15二、思路先terms分组,求最大值,最后加一个pipeline均值。一开始想用bucket_script解决,实验发现走不通,但是bucket_script在聚合结果之上操作很有用三、测试数据P
2017-07-12 20:23:03 15219 5
原创 Elasticsearch压力测试工具-Apache Jmeter
一、下载Jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi解压之后运行:/apache-jmeter-3.2/bin./jmeter二、添加线程组依次店测试计划->添加->threads->线程组:在线程组中添加线程数和用户数,模拟用户访问: 10个用户,每个用户200个线程,循环10次。三、添加请求在线程组下,依次添加->Samp
2017-06-30 20:47:44 6474 1
原创 Elasticsearch 5.4 Query DSL
Elasticsearch提供了丰富的查询语句DSL,查询可分2类:Leaf Query:查询特定字段特定值的查询,可以单独使用,比如match查询、term查询、range查询。Compound Query:组合查询,组合多个简单查询或者特殊查询。先占坑,有时间更新Y(^_^)Y
2017-06-30 12:56:20 2430 1
转载 IntelliJ IDEA For Mac 快捷键
IntelliJ IDEA For Mac 快捷键Mac键盘符号和修饰键说明一Editing编辑二SearchReplace查询替换三Usage Search使用查询四Compile and Run编译和运行五Debugging调试六Navigation导航七Refactoring重构八VCSLocal History版本控制本地历史记录九Live Templates动态代码模板
2017-06-22 13:13:50 1391
原创 LeetCode Array
LeetCode数组习题26.Remove Duplicates from Sorted Array题目描述:Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra spac
2017-06-16 00:58:57 904
翻译 Elasticsearch 5.4 Documents API
ELasticsearch文档的CRUD主要包括以下2个大的方面:单文档和多文档,翻译如下:一、单文档API1.1 Index API写入文档,索引为twitter,type为tweet,id为1:PUT twitter/tweet/1{ "user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" :
2017-06-15 22:20:20 3007
翻译 Elasticsearch 5.4 Indices(索引) API
前言一索引管理1 创建索引2 删除索引3 查看索引信息4 索引是否存在5 关闭打开索引6 索引收缩7 翻滚索引二mapping管理1 设置mapping2 查看mapping3 获取字段mapping4 类型是否存在三别名管理1 索引别名设置四索引配置1 获取索引设置2 更新索引设置3 分析器4 索引模板五监控管理1 索引统计信息2 索引段3 索引恢复
2017-06-15 22:19:01 6852
翻译 Elasticsearch 5.4 Mapping详解
前言一Field datatype字段数据类型1string类型2 text类型3 keyword类型4 数字类型5 Object类型6 date类型7 Array类型8 binary类型9 ip类型10 range类型11 nested类型12token_count类型13 geo point 类型二Meta-Fields元数据1 _all2 _field_nam
2017-06-12 14:22:13 34020 2
原创 Spring全家桶(九)Spring JdbcTemplate
一、Spring JDBCSpring JDBC是在JDBC API的基础上定义一个抽象层,用以简化JDBC操作。Spring JdbcTemplate是Spring JDBC框架的核心,为不同类型的JDBC操作提供模板方法,每个模板方法都能控制整个过程,并允许覆盖过程中的特定任务。基于此,可以在保留灵活性的情况下,将数据库存取的工作量降到最低。二、Bean配置在Spring配置文件中,配置一个Sp
2017-05-31 13:24:48 3317
原创 Spring全家桶(八)AOP核心思想与AspectJ 5种类型通知
一、AOP核心思想AOP是Aspect-Oriented Programming的缩写,翻译为面向切面编程。我个人理解切面就是一个方面。 例子,一个接口里面有增删改查四个方法:package com.stuspring.aop.impl;/** * Created by bee on 17/5/15. */public interface ArithmeticCalculator {
2017-05-17 00:02:18 2116
原创 Spring全家桶(七)通过注解配置Bean
Spring是简化j2ee开发的一个框架,通过指定id、类名配置bean虽然简单,但是当bean很多的时候,spring的配置文件会过于臃肿,使用注解技术配置bean使配置更加简介。一、注解配置bean步骤注解配置bean的原理是组件扫描,通过在spring配置文件中定义包扫描器,spring就能从classpath下自动扫描、侦测和实例化具有特定注解的bean。Spring注解有以下四个,位于or
2017-05-16 11:33:44 1883
原创 Spring全家桶(六)必知必会的java注解技术
一、Java注解技术的基本概念Java注解又称Java标注,通俗的说注解就是对某一事物添加注释说明,是Java 5.0版本开始支持加入源代码的特殊语法元数据。Java语言中的类、方法、变量、参数和包都可以被标注,Java标注可以通过反射获取标注内容。在编译器生成类文件是,标注可以嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。注解提供了安全的类似注释的机制,用来将任何的信
2017-05-16 11:32:11 2721
原创 Spring全家桶(五)Bean的多种配置方法
十一、工厂方法配置Bean通过全类名方法配置Bean底层采用的是反射,除此之外还可以通过工厂方法(静态工厂方法&实例工厂方法)、FactoryBean来配置Bean。静态工厂方法创建Bean是将对象创建的过程封装到静态方法中,当客户端需要对象时,只需要简单地调用静态方法而不需要关系创建对象的细节。 要声明通过静态方法调用Bean,需要在Bean的class属性里指定该工厂的方法的类,同时在fact
2017-05-16 11:29:59 1650
原创 Spring全家桶(四)Bean的生命周期
十、Bean生命周期10.1 Bean的生命周期Spring IOC容器可以管理Bean的生命周期,也允许在Bean生命周期的特定点执行定制的任务。Spring IOC容器对Bean的生命周期进行管理的过程如下:通过构造器或者工厂方法创建Bean实例为Bean的属性设置值和对其他Bean的引用调用Bean的初始化方法使用Bean容器关闭时,调用Bean的销毁方法在Bean的声明里设置in
2017-05-16 11:28:17 1610
原创 Spring全家桶(三)Spring SpEL
九、SpELSpEL是Spring表达式语言(Spring Expression Language)的简称,是一个支持运行查询和操作对象图的强大的表达式语言。SpEL的语法类似EL,SpEL使用#{}作为界定符,所有在大括号内的字符都将被认为是SpEL。SpEL为bean的属性进行动态赋值提供便利。通过SpEL可以实现以下内容:通过bean的id对bean进行引用调用方法以及引用对象中的属性计
2017-05-16 11:27:31 2241
原创 Spring全家桶(二)Bean之间的关系、自动装配、作用域和使用外部文件
五、Bean的自动装配Spring IOC容器可以自动装配Bean,需要在bean的autowire属性里指定自动装配的模式。<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001
2017-05-16 11:25:55 2330
原创 终端会话管理工具tmux
今天发现了一个好用的Linux工具-Tmux,用于在终端中管理多个会话窗口。捯饬了一会效果如下:图一:在一个窗口中启动ELasticsearch、head插件、Kibana图2:一个窗口中登录四台Linux服务器下面简介一下安装步骤和窗口分隔的命令。一、安装Ubuntu安装命令:sudo apt-get install tmuxMac安装命令:brew install tmux安装完成以后在终端中输
2017-04-24 12:41:03 910
原创 VirtualBox安装CentOS 7虚拟机(集群)
介绍如何在Windows下使用VirtualBox安装CentOS 7虚拟机(集群),如何设置宿主机和虚拟机直接的网络通信,以及xshell工具的使用
2017-04-08 18:09:36 3341 2
原创 MapReduce编程(七) 倒排索引构建
使用Lucene 6.0对文本进行中文分词,然后使用MapReduce构建倒排索引,统计文档频率和总的词项频率
2017-04-04 16:31:49 3571
原创 MapReduce编程(六) 从HDFS导入数据到Elasticsearch
Elasticsearch for Hadoop安装以及如何从HDFS导入数据到Elasticsearch
2017-04-01 19:26:20 12720 7
Elasticsearch 5.1.1 java api maven工程 源码下载
2017-04-18
druid-1.0.16.jar
2016-10-29
集体智慧编程中文版
2015-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人