官网文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/getting-started.htmlhtml
es中的索引、类型、文档能够一一和关系型数据库中的概念去对应。node
在本地部署三个es程序,将会自动水平扩容。任何一个节点挂掉,在其余节点都有备份数据保证分片数据的完整性。web
主分片的数目在索引建立时就已经肯定了下来。通常咱们给一个索引分配5个主分片,一个副本。但当你拥有越多的副本分片时,也将拥有越高的吞吐量(前提是增长机器)。数据库
REST设置命令缓存
/index/_settings // 若是对全部索引,用 /_all/_settings {"number_of_replicas":1} // 副本数 {"refresh_interval": "10s"} // 刷新时间
node接收端缓存800条数据,统一bulk到es;elasticsearch
es全局设置{ refresh_interval: 10s },提高内存刷新时间。ide
按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" } }
按类型统计个数
{ "size": 0, "aggs": { "group_by_RESOURCE_FORMAT": { "terms": { "field": "iswebp.keyword" } } } }