- 博客(49)
- 收藏
- 关注
原创 Elasticsearch数组的理解
最近在对Elasticsearch对数组相似度处理的时候产生了疑惑: Elasticsearch在对数组做相似度处理的时候和对一串字符文档相似度处理的区别在哪里? (Elasticsearch 5.4版本)建立的索引结构如下:POST user{ "mappings": { "app": { "properties": { "appPackageNam...
2018-10-12 10:32:55 3964
原创 Elasticsearch 5.*版本以上text和keyword的区别
keyword与text的区别: 在es 2.*版本里面是没有这两个字段,只有string字段。5.*之后,把string字段设置为了过时字段,引入text,keyword字段这两个字段都可以存储字符串使用,但建立索引和搜索的时候是不太一样的 keyword:存储数据时候,不会分词建立索引text:存储数据时候,会自动分词,并生成索引(这是很智能的,但在有些...
2018-10-11 10:25:20 3453
原创 Elasticsearch数据去重(百万级别)
如果你对去重结果的精准度没有特殊要求,使用cardinality聚合函数 AggregationBuilders.cardinality("deviceCount").field("deviceID").precisionThreshold(自定义一个精度范围100-40000) 优点:性能快,亿级别的记录在1秒内完成 缺点:存...
2018-08-10 15:24:35 22370 3
翻译 ElasticSearch查看集群状态
Elasticsearch中信息很多,同时ES也有很多信息查看命令,可以帮助开发者快速查询Elasticsearch的相关信息。_cat$ curl localhost:9200/_cat=^.^=/_cat/allocation/_cat/shards/_cat/shards/{index}/_cat/master/_cat/nodes/_cat/indices/_cat/ind...
2018-04-26 15:09:19 7078
原创 ElasticSearch查看分词结果
如下:GET googleplay/app/com.pearlabyss.blackdesertm/_termvectors?fields=name_krGET your_index/your_type/your_id/_termvectors?fields=your_fieldsName
2018-03-30 17:29:25 12026
原创 Mybatis if else简单写法使用
<choose> <when test="detailReportEntity.platform == 0"> GROUP BY <trim suffixOverrides=","> <if test="detailReportEntity.adSet == 0">
2018-03-29 10:18:23 7068
原创 Mysql按小时统计数据
数据库中存的值为毫秒级别时间戳,类似:1521008160000 这种13位的时间戳想要按小时级别分组查询出数据,简单的时间转化和分组即可,SELECT FROM_UNIXTIME(dsp_report.hour_time/1000, '%Y-%m-%d %h:%i:%s')GROUP BY FROM_UNIXTIME(1521008160000/1000, '%Y-%m-%d %h')除以1...
2018-03-16 10:37:41 3729
翻译 ElasticSearch映射
映射为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确的字符串值,Elasticsearch需要知道每个字段里面都包含了什么类型。这些类型和字段的信息存储(包含)在映射(mapping)中。正如《数据吞吐》一节所说,索引中每个文档都有一个类型(type)。 每个类型拥有自己的映射(mapping)或者模式定义(schema definition...
2018-03-09 15:50:53 988
翻译 ElasticSearch映射及分析是什么
映射(mapping)机制用于进行字段类型确认,将每个字段匹配为一种确定的数据类型(string, number, booleans, date等)。分析(analysis)机制用于进行全文文本(Full Text)的分词,以建立供搜索用的反向索引。...
2018-03-09 14:47:10 373
原创 ElasticSearch的pretty有何作用
pretty在任意的查询字符串中增加pretty参数,会让Elasticsearch美化输出(pretty-print)JSON响应以便更加容易阅读。_source字段不会被美化,它的样子与我们输入的一致。...
2018-03-01 18:01:45 14379
翻译 ElasticSearch文档ID的使用
文档通过index API被索引——使数据可以被存储和搜索。但是首先我们需要决定文档所在。正如我们讨论的,文档通过其_index、_type、_id唯一确定。们可以自己提供一个_id,或者也使用index API 为我们生成一个。使用自己的ID如果你的文档有自然的标识符(例如user_account字段或者其他值表示文档),你就可以提供自己的_id,使用这种形式的index API:PUT /{i...
2018-03-01 17:56:11 22501 3
翻译 ElasticSearch文档简单理解
什么是文档?程序中大多的实体或对象能够被序列化为包含键值对的JSON对象,键(key)是字段(field)或属性(property)的名字,值(value)可以是字符串、数字、布尔类型、另一个对象、值数组或者其他特殊类型,比如表示日期的字符串或者表示地理位置的对象。{ "name": "John Smith", "age": 42, "co...
2018-03-01 17:50:49 717 1
翻译 ElasticSearch简单检索文档
检索文档现在Elasticsearch中已经存储了一些数据,我们可以根据业务需求开始工作了。第一个需求是能够检索单个员工的信息。这对于Elasticsearch来说非常简单。我们只要执行HTTP GET请求并指出文档的“地址”——索引、类型和ID既可。根据这三部分信息,我们就可以返回原始JSON文档:GET /megacorp/employee/1响应的内容中包含一些文档的元信息,John Sm...
2018-03-01 17:22:34 259
原创 ElasticSearch和传统数据库对比
Es对比于传统的数据库,关系如下:Relational DB -> Databases -> Tables -> Rows -> ColumnsElasticsearch -> Indices -> Types -> Documents -> FieldsElasticsearch集群可以包含多个索引(indices)(数据库),每一个索引可...
2018-03-01 17:02:17 3551
翻译 ElasticSearch简单搜索
检索文档现在Elasticsearch中已经存储了一些数据,我们可以根据业务需求开始工作了。第一个需求是能够检索单个员工的信息。这对于Elasticsearch来说非常简单。我们只要执行HTTP GET请求并指出文档的“地址”——索引、类型和ID既可。根据这三部分信息,我们就可以返回原始JSON文档:GET /megacorp/employee/1响应的内容中包含一些文档的元信息,John Sm...
2018-03-01 16:49:30 653
翻译 ElasticSearch索引
开始第一步我们现在开始进行一个简单教程,它涵盖了一些基本的概念介绍,比如索引(indexing)、搜索(search)以及聚合(aggregations)。通过这个教程,我们可以让你对Elasticsearch能做的事以及其易用程度有一个大致的感觉。我们接下来将陆续介绍一些术语和基本的概念,但就算你没有马上完全理解也没有关系。我们将在本书的各个章节中更加深入的探讨这些内容。所以,坐下来,开始以旋风...
2018-03-01 16:48:27 275
翻译 ElasticSearch什么是文档
面向文档应用中的对象很少只是简单的键值列表,更多时候它拥有复杂的数据结构,比如包含日期、地理位置、另一个对象或者数组。总有一天你会想到把这些对象存储到数据库中。将这些数据保存到由行和列组成的关系数据库中,就好像是把一个丰富,信息表现力强的对象拆散了放入一个非常大的表格中:你不得不拆散对象以适应表模式(通常一列表示一个字段),然后又不得不在查询的时候重建它们。Elasticsearch是面向文档(d...
2018-03-01 16:24:03 453
翻译 ElasticSearch安装
为了搜索,你懂的Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。Elastic...
2018-03-01 16:22:55 143
翻译 ElasticSearch是什么
为了搜索,你懂的Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。Elastic...
2018-03-01 16:06:20 423
翻译 Elasticsearch交互
与Elasticsearch交互如何与Elasticsearch交互取决于你是否使用Java。Java APIElasticsearch为Java用户提供了两种内置客户端:节点客户端(node client):节点客户端以无数据节点(none data node)身份加入集群,换言之,它自己不存储任何数据,但是它知道数据在集群中的具体位置,并且能够直接转发请求到对应的节点上。传输客户端(Trans...
2018-03-01 15:54:06 406
原创 Modifier 'public' is redundant for interface methods
java中接口的方法默认是 public abstract 的,所以放心的删掉public即可,如果改为protected 或者 private还会报错,
2018-02-24 15:35:33 15933
转载 idea的java文件右下角有个红色j
不可编译,File里打开project structure找到Modules,其中有个Sources,把右边第一个X点击,去掉Root路径后,重新添加
2018-02-24 10:51:57 922
原创 mysql插入数据乱码
线上导入数据时候,发现展示都是乱码,其实两句话就可以解决问题: 在导入数据之前: 查看数据库编码: show variables like 'character_set_%'; 如果没有设置过编码,这里会是Mysql默认编码,不是utf-8,通过命令: ...
2018-02-12 14:29:19 180
原创 Redis批量写入
最近测试redis性能,需要批量插入1千万条以上的数据,就简单进行了研究,大概有以下几种方法:一:java程序调用,简单的for循环,通过Jedis的方法,直接插入, 至于速度,不用看,不用试,根本不行,就不给实现了。二:通过shell脚本,也比较简单,但也是因为要通过port端口的形式, 连接到redis,速度也是慢的不行,放弃。三:通过redis提供管道,感觉这种方法是...
2018-02-12 14:23:16 24915
原创 程序员保持健康
自从选择这个职业,便注定了你的工作状态,你的大部分时间花在电脑桌前编程,工作让你配上了眼镜,让你的健康状态日趋向下,于是你开始迷茫:是赚钱还是要健康?要不要换个工作?其实不用想那么复杂,你只需要每天做一些小小的事情,就可以改变你的现状!来了?坐!也许你是一名资深程序员,你赚的钱很多,但我敢保证,你身上总有颈椎疼等小毛病,或许现在的你因为年轻力壮,暂时影响不了你的日常,但随着时间
2018-02-01 16:46:51 930 5
原创 Unable to get Charset sun.stdout.encoding using default UTF-8
ES首次启动报错,因为未设置默认编码,这里需要修改cmd的默认编码:1.设置uft-8编码1.运行CMD 2.在命令行中输入 chcp 65001 回车, 控制台会切换到新的代码页. 3.在标题栏点击右键, 打开属性面板, 会看到”选项”标签页下方显示”当前代码页”的编码. 然后选择”字体”标签页, 把字体设置为Lucia Console, 然后确定关闭.2.设置默
2018-01-29 19:57:08 6894 3
原创 @WebServlet替代servlet的xml配置
原始xml配置如下:servlet-name>Testservlet-class>com.nox.testclass>servlet-mapping>servlet-name>Testurl-pattern>/test采用@WebServlet配置如下@WebServlet(name="test",urlPatterns="/test")public class te
2018-01-11 14:41:09 1567
原创 Springboot多数据源自动断开connection连接问题
单数据源配置,可以采用springboot的自动加载mybatis,application.properties中配置如下:不需要特殊配置即可@MapperScan("com.nox.dsp.dao")采用这种自动加载dao层的形式#spring.datasource.type = org.apache.commons.dbcp2.BasicDataSource#初始
2018-01-10 12:18:36 13461 1
原创 SpringBoot实现Redis(非注解版实现,注解在有些地方使用不了)
Springboot集成redis非常简单,如下,作者指出一种简单的实现方式import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.Objec
2018-01-05 21:03:32 2293
原创 Springboot Mybatis多数据源配置(完整代码实例)
最近接触到springboot和mybatis搭配,上线的时候遇到了双数据源到底怎么使用的问题,个人选择了一种简答的实现方式,大家可以参考一下:数据源1:package com.nox.dsp.config;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSes
2018-01-05 20:52:22 1886
原创 No qualifying bean of type 'javax.sql.DataSource' available: more than one 'primary' bean found
最近在用springboot和mybatis的项目上线的时候,因为需要使用到多个数据源,就进行了简单的双数据源的配置但是在线上就会报错:org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'org.springframework.tra
2018-01-03 11:40:41 15364 1
原创 SpringBoot在初始化filter之前加载加载部分bean
在SpringBoot项目中,因为省去了spring原始的xml的配置,导致大家对项目各部分的加载顺序不清楚怎么控制,最近在写项目时遇到了一个小问题,因为filter进行过滤时,需要使用到数据库中的白名单列表,就要求在filter中使用,但是通过@Autowired注入的dao在filter中使用的时候会报空,因为还没有注入bean容器,这时就要求我们提前手动加载,在filter的in
2017-12-29 11:52:53 5034
原创 java.lang.NoClassDefFoundError: org/apache/logging/log4j/message/Parameteriz
在SpringBoot项目中遇到了此问题,内存泄露,资源没有关闭,解决办法:package com.service;import org.springframework.beans.factory.DisposableBean;import org.springframework.boot.ExitCodeGenerator;import org.springframewo
2017-12-29 11:29:00 4124 4
原创 SpringBoot框架因post数据量过大没反应问题(踩坑)
此处网上最多的做法是需要修改tomcat的参数配置大致如下:connectionTimeout="2000" redirectPort="8443" URIEncoding="UTF-8" maxThreads="3000" compression="on" compressableMimeType="text/html,text/xml" maxPostSize="1
2017-12-25 15:52:36 19556
原创 web.xml is missing and <failOnMissingWebXml> is set to true
右键项目——>Java EE Tools——>Generate Deployment Descriptor Stub
2017-09-04 20:16:47 222
转载 单元测试MAVEN引入junit的jar包不起作用
使用eclipse创建了Maven webapp project。在写单元测试用例时,报错@Test注解找不到,提示将JUnit添加到build path中(Add JUnit 4 library to the build path)点击自动纠错后,可以看到eclipse将自带的JUnit4 jar包加入到了build path中。但是
2017-09-04 13:32:28 4632 1
原创 JAVA操作JSON就是如此简单
最近工作中频繁使用到JSON字符换到对象,对象到JSON字符串的转化使用源生提供的JSON非常不方便,这里我们使用fastjson,一个阿里提供的工具类,操作起来十分简单方便,JSON字符串 到 对象//JSONObject对象可以简单理解成为对象,通过各种get方法传入key值,即可取出valueJSONObject jsonBodyEntity = JSON
2017-08-25 17:48:49 1238
原创 Could not load com/fasterxml/jackson/core/JsonGenerator.class
这个问题是缺少相关jar包:添加相关依赖即可 org.codehaus.jackson jackson-mapper-asl 1.9.4 org.codehaus.jackson jackson-core-asl 1.9.4 这个版本为1.9.4可以与2.7.5系列的jackson配合使用
2017-08-22 12:43:50 1875
原创 org.apache.jasper.el.ELContextImpl cannot be cast to org.apache.jasper.runtime.ELContextImpl
这个问题纠结了好久,好几个项目都报出相同的错误,以至于想象到Tomcat的问题,卸载重装~~然并卵------网上大致有两种解决办法,类似于这样:解决案1: 项目引用tomcat目录面lib面catalina.jar候用myeclipse项目部署tomcat面候catalina.jar包加项目web-inf面lib文件夹面包tomcat面lib面catalina.jar包冲突报j
2017-08-22 12:34:34 1221
原创 java.lang.NoClassDefFoundError:com/fasterxml/jackson/databind/ObjectMapper
此信息为spring和jackson相关版本不兼容我使用的是Spring4.3.2版本,把本地jsckson版本升到2.7.5以上或者更高即可Spring为4.3.2兼容jackson版本为2.7.5和更高版本,相关依赖如下:dependency> groupId>com.fasterxml.jackson.coregroupId>
2017-08-22 12:30:48 37889
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人