Elastichsearch实践——基本使用
官网文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/getting-started.html
es中的索引、类型、文档可以一一和关系型数据库中的概念去对应。
在本地部署三个es程序,将会自动水平扩容。任何一个节点挂掉,在其他节点都有备份数据保证分片数据的完整性。
主分片的数目在索引创建时就已经确定了下来。一般我们给一个索引分配5个主分片,一个副本。但当你拥有越多的副本分片时,也将拥有越高的吞吐量(前提是增加机器)。
REST设置命令
/index/_settings // 如果对所有索引,用 /_all/_settings
{"number_of_replicas":1} // 副本数
{"refresh_interval": "10s"} // 刷新时间
网页加载性能上报,es近实时搜索优化实践:(反复调研测试了一个礼拜才得出的精辟结论)
node接收端缓存800条数据,统一bulk到es;
es全局设置{ refresh_interval: 10s },提升内存刷新时间。
聚合
按pageId做聚合(注意在terms里面设置size!—— 被坑惨过)
aggs: {
mypageId: {
terms: {
size: 1000,
field: 'pageId.keyword'
}
}
}
{
"size": 0,
"aggs": {
"pageIds": {
"terms": {
"size": 100,
"field": "pageId.keyword"
}
}
}
}
查询指纹用户匹配
http://10.10.19.29:9200/ finger-query-2019.03./_search {"size":,"aggs":{"users":{"terms":{"size":,"field":"matched"}}}}
查询页面聚合
{
"size": ,
"aggs": {
"pages": {
"terms": {
"size": ,
"field": "pageId"
}
}
}
}
精确查询
{
"query": {
"bool": {
"filter": {
"term": {
"pageId": "planting_v2_2_1"
}
}
}
}
}
去重
{
"query": {
"match_all": {}
},
"collapse": {
"field": "pageId.keyword"
}
}
按类型统计个数
{
"size": 0,
"aggs": {
"group_by_RESOURCE_FORMAT": {
"terms": {
"field": "iswebp.keyword"
}
}
}
}
Elastichsearch实践——基本使用的更多相关文章
- webp图片实践之路
最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...
- Hangfire项目实践分享
Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...
- TDD在Unity3D游戏项目开发中的实践
0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...
- Logstash实践: 分布式系统的日志监控
文/赵杰 2015.11.04 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及 ...
- 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器
一.反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从 ...
- Windows平台分布式架构实践 - 负载均衡
概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...
- Mysql事务探索及其在Django中的实践(二)
继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...
- Mysql事务探索及其在Django中的实践(一)
前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...
- netty5 HTTP协议栈浅析与实践
一.说在前面的话 前段时间,工作上需要做一个针对视频质量的统计分析系统,各端(PC端.移动端和 WEB端)将视频质量数据放在一个 HTTP 请求中上报到服务器,服务器对数据进行解析.分拣后从不同的 ...
随机推荐
- rabbtimq非持久化测试
send端代码 import pika,time,threading class send(): def __init__(self,que_nam='hello'): self.credential ...
- Go语言中的make和new
相同点: make和new都是用来创建分配类型内存的. 不同点: 先看下面的代码 package main import "fmt" func main(){ var i *int ...
- HDU1166-ZKW树
单点修改,区间求和 // // Created by helica on 2018/3/18. // //zkw #include <cstdio> #include <cstrin ...
- Educational Codeforces Round 63 (Rated for Div. 2) C. Alarm Clocks Everywhere gcd
题意:给出一个递增的时间序列a 给出另外一个序列b (都是整数) 以b中任选一个数字作为间隔 自己从1开始任选一个时间当成开始时间 输出选择的数字标号以及 开始时间 思路 直接求间隔的公共gc ...
- Apache Flink教程
1.Apache Flink 教程 http://mp.weixin.qq.com/mp/homepage?__biz=MzIxMTE0ODU5NQ==&hid=5&sn=ff5718 ...
- MT【324】增量代换
实数$a,b,c$满足$a^2+b^2+c^2=1$求$f=\min\{(a-b)^2,(b-c)^2,(c-a)^2\}$的最大值 分析:由对称性不妨设$c\ge b\ge a$,令$b-a=s,c ...
- kubernetes 1.14安装部署dashboard
简单介绍: Dashboard是一个基于web的Kubernetes用户界面.您可以使用Dashboard将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障诊断,并管理集群资源. ...
- pt-show-grants的用法
pt-show-grants的用法 1.先查找所有用户和Host 2.然后逐个执行show grants pt-show-grants的功能是格式化打印输出MySQL上的赋权,以便你可以有效地复制.比 ...
- LINUX 常用命令(二)
B0.用户相关配置文件 用户信息文件: /etc/passwd密码文件: /etc/shadow用户组文件: /etc/group用户组密 ...
- [Reinforcement Learning] Value Function Approximation
为什么需要值函数近似? 之前我们提到过各种计算值函数的方法,比如对于 MDP 已知的问题可以使用 Bellman 期望方程求得值函数:对于 MDP 未知的情况,可以通过 MC 以及 TD 方法来获得值 ...