摘要: 使用nginx做http代理时,在Header中使用了一个名为api_key的属性,碰到http header不转发的问题。 问题源码: rc = ngx_http_parse_header_line(r, r->header_in, cscf->underscores_in_headers); if (r->invalid_header && cscf->ignore_invalid_head... 阅读全文
posted @ 2017-06-13 16:50 Arli 阅读(1664) 评论(0) 推荐(0) 编辑
摘要: 使用SpringBoot提供的@Repository接口,可以完成曾经需要大量代码编写和配置文件定制工作。这些以前让新手程序员头疼,让有经验的程序员引以为傲的配置,由于框架的不断完善,变得不那么重要,同时,也提升了程序员的工作效率。 本文介绍的是如何通过springboot操作MongoDB。 一. 阅读全文
posted @ 2017-06-13 14:46 Arli 阅读(14444) 评论(1) 推荐(0) 编辑
摘要: Spring Boot开发HTTP的REST接口流程在前文中已经描述过,见《SpringBoot开发REST接口》。 如需要支持HTTPS,只需要在如上基础上进行设置。修改/resources/application.properties文件,添加ssl配置。 server.port=8443 server.ssl.key-store=classpath:keystore.p12 server.... 阅读全文
posted @ 2017-06-12 15:04 Arli 阅读(3921) 评论(0) 推荐(1) 编辑
摘要: RestTemplate restTemplate = new RestTemplate(); Object result = restTemplate.getForObject("https://www.baidu.com", String.class); 阅读全文
posted @ 2017-06-06 09:01 Arli 阅读(2797) 评论(0) 推荐(0) 编辑
摘要: 0.先推荐一个工具——lombok,pom文件如下: org.projectlombok lombok compile 可以使用注解@Data 编译时自动生成get,set方法,构造函数,toString方法。 @Data @Entity public class Account { @Id private String id; private ... 阅读全文
posted @ 2017-05-27 18:18 Arli 阅读(35456) 评论(0) 推荐(2) 编辑
摘要: 1.配置pom.xml文件的和,指定spring boot web依赖 org.springframework.boot spring-boot-starter-parent 1.4.1.RELEASE org.springframework.boot spring-boot-starter-web ... 阅读全文
posted @ 2017-05-27 11:50 Arli 阅读(9863) 评论(0) 推荐(0) 编辑
摘要: Notice:本说明基于Solr6.4.2。 本文讨论的是如何使用Solr Admin UI。 一级菜单 图1.SolrCloud模式 图2.单机Solr模式 Logging:展示Solr的日志,不用去后台查日志,并且还可以用来配置打... 阅读全文
posted @ 2017-05-10 20:23 Arli 阅读(19035) 评论(0) 推荐(1) 编辑
摘要: 背景:本推荐系统基于一款硬件产品--旺小宝桌牌。客人按下点餐按钮,扫码进入点餐界面,然后开始点自己喜欢的菜,在手机端下单。目前在成都已有近200家合作餐饮商家。 菜品推荐功能: 当客人在某商家使用桌牌点菜,提取该客人点菜的主材,当客人下一次在另外一家使用桌牌的商家点菜时,即为该客户推荐该商家对应主材 阅读全文
posted @ 2017-04-26 11:37 Arli 阅读(2587) 评论(0) 推荐(0) 编辑
摘要: 当前大多数企业版hadoop的solr版本都还停留在solr4.x,由于这个版本的solr本身的bug较多,使用起来会出很多奇怪的问题。如部分更新日期字段失败的问题。 最新的solr版本不仅修复了以前的一些常见bug,还提供了更简便易用的功能,如ManagedSchema替代schema.xml来管 阅读全文
posted @ 2017-03-28 11:40 Arli 阅读(2029) 评论(1) 推荐(0) 编辑
摘要: 1.可以修改时区了。(Solr4.10.3及之前的版本,时区只能是UTC,开发人员需要转换后才能使用。当时为了解决不能设置时区的问题,每个文档都有两个Date,一个是utc时间,一个是utc+8的中国时间。) 2.Managed Schema特性替代了以前的shema.xml配置,可以在界面上操作s 阅读全文
posted @ 2017-03-24 08:46 Arli 阅读(827) 评论(0) 推荐(0) 编辑
摘要: 一.备份基于HDFS的solrCloud集合数据 1.确认要备份的solr文件夹。 /solr/history_customer_collection_test 2.开启HDFS快照功能。 hdfs dfsadmin -allowSnapshot /solr/history_customer_collection_test 3.生成文件夹快照 hadoop fs -createSnapshot ... 阅读全文
posted @ 2017-03-01 13:58 Arli 阅读(2346) 评论(0) 推荐(1) 编辑
摘要: 本文写于很多年前(2006),并在很多地方被引用。而现在,笔者对于Sprint燃尽图的理解有了戏剧性的变化--在看到很多团队滥用它之后。笔者不再建议团队做Sprint燃尽图,因为它们不仅不会增加多少有用的信息,而且还会导致很多坏的行为。笔者差点想删了它,然而觉得更新一下会对大家更有帮助。 笔者观察了很多团队,并注意到了这些团队的Sprint燃尽图可以按图形的特征分成几大类,本文用来讨论几... 阅读全文
posted @ 2017-02-22 15:47 Arli 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 背景:基于call客,来电和跟进记录等多个数据来源的用户文档,需要在更新是判断首来源的时间。 如对电话号码11xxxx来说,来电时间是今天,call客时间是昨天,而call客数据又可能因为网络原因晚上传上来,这样一来11xxxx这个用户document的来源时间需要更新成昨天。 分析:solr的默认 阅读全文
posted @ 2017-01-10 11:52 Arli 阅读(1185) 评论(0) 推荐(0) 编辑
摘要: 场景描述:前段时间,将实时数据通过kafka+flume+morphline的方式接入到solr中。新进来的数据已经可以在solr中看到了,但是以前的历史数据还没有导入solr。 CDH提供利用MapReduceIndexerTool来将HDFS的数据导入到solr。 历史数据格式类似如下按年/月/ 阅读全文
posted @ 2017-01-04 15:20 Arli 阅读(1886) 评论(0) 推荐(0) 编辑
摘要: 问题描述如标题。 异常信息如下: 对应开源问题单: https://issues.apache.org/jira/browse/SOLR-8050 solr5.4 solr6.0版本修复了该问题。而cloudera的社区版还存在该问题。 规避思路:虽然日期字段不支持部分更新,可以先转换为string 阅读全文
posted @ 2017-01-03 12:47 Arli 阅读(2270) 评论(0) 推荐(0) 编辑
摘要: 背景:在考察了多种工具后,我们决定使用solr来作为多标签用户管理体系的查询方案。 原计划:电话,call客,跟进等等记录上报到kafka,然后通过flume+morphline录入到solr中。每一个用户是一个独立的父文档,然后每新增一条来电/call客/跟进记录,则会在用户的父文档下增加一个嵌套子文档。 这样设计的好处是,一个文档就能记录一个用户所有的记录,并且还支持多维度的标签查询满足条件... 阅读全文
posted @ 2017-01-03 12:33 Arli 阅读(1988) 评论(1) 推荐(0) 编辑
摘要: 背景:morphline是一个轻量级的etl工具。除了提供标准化的方法之外,还可以定制化的开发java片段。定制化的java片段会在加载时被作为一个独立的类编译,对源数据作处理。 morphline关于java片段的例子,在配置文件上编写java代码太难了,尤其是在中文输入法下,可能逗号或者引号打错了也浑然不知。 java { imports : "import java.util.*;" ... 阅读全文
posted @ 2017-01-03 11:28 Arli 阅读(884) 评论(0) 推荐(0) 编辑
摘要: morphline优化,如下: 传过来的时间戳被复制到3个字段:eventTimeInMinuteChina_tdt ,eventTimeInMinuteUTC_tdt ,eventTimeInHourUTC_tdt 。 eventTimeInMinuteChina_tdt:用于显示以及按中国时间来 阅读全文
posted @ 2016-12-28 17:40 Arli 阅读(913) 评论(0) 推荐(0) 编辑
摘要: 背景:利用kafka+flume+morphline+solr做实时统计。 solr从12月23号开始一直没有数据。查看日志发现,因为有一个同事加了一条格式错误的埋点数据,导致大量error。 据推断,是因为使用mem channel占满,消息来不及处理,导致新来的数据都丢失了。 修改flume使用 阅读全文
posted @ 2016-12-28 17:30 Arli 阅读(3013) 评论(0) 推荐(0) 编辑
摘要: 从 high level 的角度来看,schema.xml 结果如下,这个例子虽然不是一个真实的XML,但是简洁明了的传达了shema的概念。 绝大部分设计工作和内容都在types和fields中,这两个元素定义了索引的字段和类型,再辅以copyField。夹在copyField和fileds之间的 阅读全文
posted @ 2016-12-22 15:48 Arli 阅读(819) 评论(0) 推荐(0) 编辑
摘要: 在Solr图形化界面:除Hue之外的选择中列出了banana的如下一些不足,今天再次研究这些地方是否有方案可以解决。 1.sunburst图功能没法用。 2.中文有些地方会显示%2B%4C之类的一串字符。 3.facet功能没Hue好看。(不过Hue只能显示最多10条记录,Banana没有这个限制) 阅读全文
posted @ 2016-12-21 08:50 Arli 阅读(369) 评论(2) 推荐(0) 编辑
摘要: Cloudera的HBase开发环境下载依赖包特别麻烦,通常是直接在CDH服务器上拷。 阅读全文
posted @ 2016-12-20 11:11 Arli 阅读(1356) 评论(0) 推荐(0) 编辑
摘要: 最近Hue+Solr 方案原型验证有了一些进展。正好也收到了Google的大数据专家Sam的来件询问进展,我答复如下: Sam的回信: 对于Sam说的来不及index最近的call,并且话务员可能希望在接电话之前的那一秒就显示出来:这两句话我作了考虑,一是kafka+flume+solr的index 阅读全文
posted @ 2016-12-19 20:21 Arli 阅读(3268) 评论(3) 推荐(0) 编辑
摘要: q:查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*,类似于sql中的where 1=1。 fq(filter query):过滤查询,提供一个可选的筛选器查询。返回在q查询符合结果中同时符合的fq条件的查询结果,例如:q=id:1&fq=sort:[1 TO 5]&fq=sect 阅读全文
posted @ 2016-12-13 11:32 Arli 阅读(7710) 评论(4) 推荐(0) 编辑
摘要: 1.Flume和Morphline添加日志打印 2.在线更新solr collection配置 3.删除solr已经有的index文件 4.CDH5.8.3对应的Solr 4时区怎么更改? 不支持更改时区,Solr4时区有bug。有下面3种方式规避。 1)可以建个额外字段专门存UTC时区的时间。 2 阅读全文
posted @ 2016-12-12 20:46 Arli 阅读(958) 评论(0) 推荐(0) 编辑
摘要: 背景:Kafka消息总线的建成,使各个系统的数据得以在kafka节点中汇聚,接下来面临的任务是最大化数据的价值,让数据“慧”说话。 环境准备: Kafka服务器*3。 CDH 5.8.3服务器*3,安装Flume,Solr,Hue,HDFS,Zookeeper服务。 Flume提供了可扩展的实时数据 阅读全文
posted @ 2016-12-11 00:12 Arli 阅读(3918) 评论(0) 推荐(0) 编辑
摘要: 背景: 公司核心业务库现存在MongoDB中,分布在6台MongoDB节点。现面临如下问题: 1.最大的一张表有10多个G,MongoDB在查询方面尚能胜任,但是涉及到复杂计算时会比较吃力。 2.MongoDB中有三张表,分别记录了最终用户在三个不同系统(电话,游戏,桌牌等)的行为,需要按用户汇聚成 阅读全文
posted @ 2016-12-07 16:02 Arli 阅读(9720) 评论(0) 推荐(0) 编辑
摘要: 公司最近在研究多条件组合查询方案,Google的一位技术专家Sam和我们讨论了几个备选方案。 Sam的信: 我做了进一步研究,目前有这么几种做法: 1) 最直接粗暴,只做一个主index,比如按行业+地区做一个index,这样来说的话,无论多少个标签的查询,直接先用主index做一个筛选,这样下来可 阅读全文
posted @ 2016-12-06 18:50 Arli 阅读(3274) 评论(0) 推荐(0) 编辑
摘要: 说明:请务必先了解如下知识,否则阅读本文会晕。 Solr术语介绍:SolrCloud,单机Solr,Collection,Shard,Replica,Core之间的关系 Solr通过三个主要文件来作配置:solr.xml,solrconfig.xml,shema.xml。在Solr 4.5以前,(S 阅读全文
posted @ 2016-12-04 21:18 Arli 阅读(991) 评论(0) 推荐(0) 编辑
摘要: Solr有一堆让人发晕的术语如:collections,shards,replicas,cores,config sets. 在了解这些术语之前需要先做做如下功课: 1)什么是倒排索引? 2)搜索引擎是怎么工作的? Solr术语介绍: Collections:SolrCloud集群中的一个完整的逻辑 阅读全文
posted @ 2016-12-03 17:50 Arli 阅读(8573) 评论(0) 推荐(1) 编辑