1 简介
Lucene
Java编写的信息搜索工具包(Jar包),Lucene只是一个框架,熟练运用Lucene非常复杂。
Elasticsearch
基于Lucene分布式海量数据近实时搜索引擎。采用的策略是将每一个字段都编入索引,使其可以被搜索。
接入方式
功能
构成
常用案例
搜索
日志分析
2 入门
文档(记录)
api
批量操作(减少网络开销)
注意
索引(表)
索引模板
节点
分片
倒排索引
elasticsearch的倒排索引
分词
Search api
url search
request body search
Mapping
数据类型
多字段类型
聚合分析
3 深入
term(不分词)
全文查询(分词)
结构化查询
相关性及算分
多字段查询(bool query)
单字符串多字段查询
Dis Max Query
Multi Match
多语言和中文分词的搜索(分词)
搜索模板(Search Template)
索引别名(Index Alias)
搜索结果重新算分排序(Function Score)
纠错(Term&Phrase Suggester)
自动补全(The Completion Suggester)
上下文感知(Context Suggester)
排序
分页(Search After和Scroll api)
聚合分析(Aggregation)
1. Metric Aggregation(函数,mix、max、avg)
2. Bucket Aggregation(分组)
Terms Aggregation(按照值分桶)
Range & Histogram(直方图) 聚合
range
Histogram
3. Pipeline Aggregation(聚合结果再聚合)
4. 聚合作用范围
5. 聚合精准度
4 分布式
集群、节点
分片(主分片和副本分片)
主分片创建后更改数量需要重新index
搜索机制
并发写
5 API
es
启动
cd C:\software\elasticsearch-7.12.0\bin
bin目录下 elasticsearch
查看启动状态
http://localhost:9200/
查看集群节点
http://localhost:9200/_cat/nodes
查看插件
elasticsearch-plugin list
安装插件
elasticsearch-plugin install analysis-icu
查看集群状态
http://localhost:9200/_cluster/health
kibana
kibana
启动
cd C:\software\kibana-7.12.0-windows-x86_64\bin
bin目录下 kibana
参数
boost 字段权重
Tie Breaker
** _seq_no**
和_version类似,严格递增的序列号,保证后写入doc的_seq_no大于先写入doc的_seq_no
** _primary_term**
每当priamry shard重新分配时,这个字段就会自增1
primary shard
分片数
replica shard
副本数
工具
Cerebro(https://github.com/lmenezes/cerebro/releases)
高可用
副本分片
可扩展
主分片