摘要: 这篇博客主要讲:分词器概念、ES内置分词器、ES中文分词器。 一、分词器概念 1、Analysis 和 Analyzer Analysis: 文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词。Analysis是通过Analyzer来实现的。 当一个文档被索引时,每个Field 阅读全文
posted @ 2022-02-16 21:15 hanease 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 上一篇讲了Elasticsearch聚合查询中的Metric聚合:Elasticsearch(8) 聚合查询(Metric聚合) 说明 本文主要参考于Elasticsearch 官方文档 7.3版本。 Bucket Aggregations 概念:Bucket 可以理解为一个桶,它会遍历文档中的内容 阅读全文
posted @ 2022-02-16 21:14 hanease 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 在Mysql中,我们可以获取一组数据的 最大值(Max)、最小值(Min)。同样我们能够对这组数据进行 分组(Group)。那么对于Elasticsearch中 我们也可以实现同样的功能,聚合有关资料官方文档内容较多,这里大概分两篇博客写这个有关Elasticsearch聚合。 官方对聚合有四个关键 阅读全文
posted @ 2022-02-16 21:11 hanease 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 复合查询有:bool query(布尔查询)、boosting query(提高查询)、constant_score (固定分数查询)、dis_max(最佳匹配查询)、function_score(函数查询)。 一、bool query(布尔查询) 1、概念 定义 可以理解成通过布尔逻辑将较小的查询 阅读全文
posted @ 2022-02-16 21:04 hanease 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 这篇博客主要分为 :Query查询和Filter查询。有关复合查询、聚合查询也会单独写篇博客。 一、概念 1、概念 一个查询语句究竟具有什么样的行为和得到什么结果,主要取决于它到底是处Query还是Filter。两者有很大区别,我们来看下: Query context 查询上下文 这种语句在执行时既 阅读全文
posted @ 2022-02-16 20:57 hanease 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 这篇博客的命令分为ES集群相关命令,索引CRUD命令,文档CRUD命令。这里不包括Query查询命令,它单独写一篇博客。 一、ES集群相关命令 ES集群相关命令主要是_cat命令,所以这里详细讲解下该命令。 1、_cat命令 _cat系列提供了一系列查询Elasticsearch集群状态的接口。 / 阅读全文
posted @ 2022-02-16 20:50 hanease 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 这篇博客讲到基本概念包括: Index、Type、Document。集群,节点,分片及副本,倒排索引。 一、Index、Type、Document 1、Index index:索引是文档(Document)的容器,是一类文档的集合。 索引这个词在 ElasticSearch 会有三种意思: 1)、索 阅读全文
posted @ 2022-02-16 20:29 hanease 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 想加强ES有关的知识,看了阮一鸣老师讲的《Elasticsearch核心技术与实战》收获很大,所以接下来会跟着他来更加深入的学习ES。 这篇博客的目的就是部署好ES和跟ES相关的辅助工具,同时通过Logstash将测试数据导入ES,这些工作完成之后,之后我们就可以在此基础上深入的去学习它。 一、Do 阅读全文
posted @ 2022-02-16 20:25 hanease 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 一、基于spring-boot-starter-data-elasticsearch整合 开发环境:springboot版本:2.0.1,elasticSearch-5.6.8.jar版本:5.6.8,服务器部署ElasticSearch版本:6.3.2 1、application.properti 阅读全文
posted @ 2022-02-16 20:21 hanease 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 1. 单机部署-场景描述 elasticsearch只用过,没有部署或者维护过,从头完整走一遍,记录下,原创实战,有需要的朋友参考下。 2 . 解决方案 特别说下,以前win7下安装的3台虚拟机,没有联网,因为要安装elasticsearch-head需要安装前端报,调整为联网,安装yum、npm等 阅读全文
posted @ 2022-02-16 20:15 hanease 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 第二十一章 授予身份及切换身份——《跟我学Shiro》 在一些场景中,比如某个领导因为一些原因不能进行登录网站进行一些操作,他想把他网站上的工作委托给他的秘书,但是他不想把帐号/密码告诉他秘书,只是想把工作委托给他;此时和我们可以使用Shiro的RunAs功能,即允许一个用户假装为另一个用户(如果他 阅读全文
posted @ 2022-02-16 15:51 hanease 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 第十四章 SSL——《跟我学Shiro》 对于SSL的支持,Shiro只是判断当前url是否需要SSL登录,如果需要自动重定向到https进行访问。 首先生成数字证书,生成证书到D:\localhost.keystore 使用JDK的keytool命令,生成证书(包含证书/公钥/私钥)到D:\loc 阅读全文
posted @ 2022-02-16 15:48 hanease 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 第八章 拦截器机制——《跟我学Shiro》 8.1 拦截器介绍 Shiro使用了与Servlet一样的Filter接口进行扩展;所以如果对Filter不熟悉可以参考《Servlet3.1规范》http://www.iteye.com/blogs/subjects/Servlet-3-1了解Filte 阅读全文
posted @ 2022-02-16 15:36 hanease 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 第四章 INI配置——《跟我学Shiro》 之前章节我们已经接触过一些INI配置规则了,如果大家使用过如Spring之类的IoC/DI容器的话,Shiro提供的INI配置也是非常类似的,即可以理解为是一个IoC/DI容器,但是区别在于它从一个根对象securityManager开始。 4.1 根对象 阅读全文
posted @ 2022-02-16 15:27 hanease 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 第一章 Shiro简介——《跟我学Shiro》 1.1 简介 Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂 阅读全文
posted @ 2022-02-16 15:20 hanease 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 最近在学习Flume源码,所以想写一份Flume源码学习的笔记供需要的朋友一起学习参考。 1、Flume介绍 Flume是cloudera公司开源的一款分布式、可靠地进行大量日志数据采集、聚合和并转移到存储中;通过事务机制提供了可靠的消息传输支持,自带负载均衡机制来支撑水平扩展;并且提供了一些默认组 阅读全文
posted @ 2022-02-16 15:04 hanease 阅读(924) 评论(0) 推荐(0) 编辑
摘要: 流量复制 在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线。这其实就需要进行流量复制,把流量复制到其他服务器上,一种方式是使用如tcpcopy引流;另外我们还可以使用ngin 阅读全文
posted @ 2022-02-16 14:56 hanease 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 本章以京东商品详情页为例,京东商品详情页虽然仅是单个页面,但是其数据聚合源是非常多的,除了一些实时性要求比较高的如价格、库存、服务支持等通过AJAX异步加载加载之外,其他的数据都是在后端做数据聚合然后拼装网页模板的。 http://item.jd.com/1217499.html 如图所示,商品页主 阅读全文
posted @ 2022-02-16 14:55 hanease 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 此处我说的HTTP服务主要指如访问京东网站时我们看到的热门搜索、用户登录、实时价格、实时库存、服务支持、广告语等这种非Web页面,而是在Web页面中异步加载的相关数据。这些服务有个特点即访问量巨大、逻辑比较单一;但是如实时库存逻辑其实是非常复杂的。在京东这些服务每天有几亿十几亿的访问量,比如实时库存 阅读全文
posted @ 2022-02-16 14:52 hanease 阅读(593) 评论(1) 推荐(0) 编辑
摘要: 在实际开发中,不可能把所有代码写到一个大而全的lua文件中,需要进行分模块开发;而且模块化是高性能Lua应用的关键。使用require第一次导入模块后,所有Nginx 进程全局共享模块的数据和代码,每个Worker进程需要时会得到此模块的一个副本(Copy-On-Write),即模块可以认为是每Wo 阅读全文
posted @ 2022-02-16 14:50 hanease 阅读(253) 评论(0) 推荐(0) 编辑