博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elastichsearch实践——基本使用
阅读量:6704 次
发布时间:2019-06-25

本文共 1286 字,大约阅读时间需要 4 分钟。

官网文档: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.17/_search{
"size":1,"aggs":{
"users":{
"terms":{
"size":100,"field":"matched"}}}}

 

查询页面聚合

{  "size": 100,  "aggs": {    "pages": {      "terms": {        "size": 100,        "field": "pageId"      }    }  }}

 

精确查询

{  "query": {    "bool": {      "filter": {        "term": {          "pageId": "planting_v2_2_1"        }      }    }  }}

 

去重

{  "query": {    "match_all": {}  },  "collapse": {    "field": "pageId.keyword"  }}

 

转载于:https://www.cnblogs.com/woodk/p/9997892.html

你可能感兴趣的文章
压测 apache ab 初探
查看>>
设计数据结构O1 insert delete和getRandom
查看>>
视图(View)与部分视图(Partial View)之间数据传递
查看>>
漫谈程序猿系列:群星闪耀的黄金时代
查看>>
使用Spring Session做分布式会话管理
查看>>
mongodb的NUMA问题
查看>>
js进阶 12-14 jquery的事件触发函数是哪两个
查看>>
网速4M等于多少KB/S,等于多少kbps
查看>>
MySQL MERGE存储引擎 简介
查看>>
atitit。自己定义uml MOF EMF体系eclipse emf 教程o7t
查看>>
atitit.taskService 任务管理器的设计 v1
查看>>
编写jquery插件的分享
查看>>
机器学习 —— 概率图模型(学习:对数线性模型)
查看>>
2016百度编程题:蘑菇阵
查看>>
解决教学问题新感悟
查看>>
nyoj 37 回文字符串
查看>>
Lintcode--006(交叉字符串)
查看>>
ASP.NET Core 1.0基础之依赖注入
查看>>
Excel里的单元格提行
查看>>
Matlab最短路径问题记录
查看>>