Elasticsearch
2020-09-07 00:54:07 164 举报
AI智能生成
Elasticsearch 笔记
作者其他创作
大纲/内容
参考文档
https://www.elastic.co/guide/en/elasticsearch/reference/7.9/index.html
https://blog.csdn.net/laoyang360/article/details/89716974
https://www.cnblogs.com/chenyuanbo/p/10138901.html
ElasticSearch
简介
倒排索引
索引配置
mapping
type 字段类型
analyzer 指定分词器
boost 字段权重,默认1
copy_to 自定义字段,用其他字段拼接
doc_values 加快排序、聚合操作,默认 true
enabled 是否被索引,只用于object字段类型,默认 true
index 是否被索引、查询,默认 true
format 时间字段格式化
ignore_above 指定字段索引的长度,超过部分会被截断, 默认 100
fields 定义字段的衍生子字段,如 keyword、texy
nested 定义object对象的父子关系
date 时间类型
ip ip地址类型
geo_point 地理位置类型
keyword 字符串类型,不分词
text 字符串类型,分词
array 数组类型
object 对象类型
nested 嵌套对象类型
relation 父子对象类型
范围类型
long_range 整数范围
float_range 浮点数范围
date_range 时间范围
ip_range ip范围
特殊类型
tocken_count 计数类型,如统计分词数
percolator 反向查询
各种查询
常用查询
term 精准查询
terms 多值查询
range 范围查询
exists 字段是否存在
prefix 前缀查询
regexp 正则查询
wildcard 通配符查询
? *
fuzzy 模糊查询
fuzziness 本次查询允许的最大编辑距离
prefix_length 最小相同前缀长度
max_expansions 衍生的查询词数 (影响返回结果)
全文查询
match 分词搜索
operator 定义多个分词的逻辑关系,默认 or
minimum_should_match 控制分词最少匹配个数, 默认1
match_phrase 短语搜索
分词后的词必须都匹配到
slop 控制分词允许的匹配距离
match_phrase_prefix 短语前缀搜索
最后一个词会只匹配前缀
multi_match 多字段查询
type 类型
best_fields 分值选择最高字段分值
most_fields 分值为各个字段相加
cross_fields 跨多个字段匹配,每个字段至少需要匹配一个分词
tie_breaker 控制每个字段分值的权重
query_string
基本格式 字段:查询内容
OR AND
复合查询
bool 组合查询
must 必须匹配
must_not 必须不匹配
should 可能匹配
filter 过滤匹配,不参与评分,可以缓存,速度快
minimum_should_match 定义should至少匹配个数,默认0
改变分值查询
boosting 评分查询
positive 正分查询
negative 负分查询
constant_score 固定分值查询
通常用于包装filter查询
boost 分值
dis_max 最高分值查询
同一个文档匹配多个查询的话,分值取最高值
tie_breaker 分值权重
特殊查询
nested 嵌套查询
path 路径,子字段名
query 嵌套查询主体
more_like_this 类似查询
fields 要查询的字段,默认所有
like 要查询的文本
控制搜索分词
stop_words 需要忽略的分词
min_term_freq 搜索内容中分词至少出现频率,默认2
max_query_terms 最大查询分词数,默认 25
min_word_length 最小分词长度,默认 0
max_word_length 最大分词长度,默认 无
min_doc_freq 分词在多少文档中出现,小于这个值会被忽略,默认 5
max_doc_freq 分词再多少文档中出现,大于这个值会被忽略, 默认 无
父子查询
parent_id 通过父id查询子文档
has_child 通过子文档条件查询父文档
has_parent 通过父文档查询子文档
脚本查询 script
异步查询 _async_search
查询结果处理
_source 控制返回的字段
collapse 折叠相同的结果集
post_filter 后置过滤,只影响结果不影响聚合统计
rescore 调整查询结果评分
highlighting 高亮显示
聚合统计
metric 度量聚合
Avg 均值聚合
Max 最大值聚合
Min 最小值聚合
Sum 汇总聚合
weighted_avg 加权均值聚合
cardinality 去重计数聚合
stats 多种统计聚合
string_stats 字符串长度统计聚合
percentiles 百分比聚合
top_hits 常配合桶聚合,获取该分类下的前几个文档
bucket 桶聚合
terms 多值分类聚合
composite 复合聚合,
提供类似search_after的功能
track_total_hits 设置为false则匹配到足够结果程序会提前终止,建议设置
date_histogram 日期聚合
calendar_interval 定义单位内的日期间隔
1m 1h 1d 1w 1M 1q 1y
fixed_interval 可以定义多个单位内的日期间隔
ms s m h d
auto_date_histogram 根据日期自动聚合,日期间隔取决于设置的桶数
buckets 桶数
format 日期格式化
一些经验文章
模糊查询导致Elasticsearch服务宕机
https://elasticsearch.cn/article/186
警惕通配符查询
https://elasticsearch.cn/article/171
MQ异步同步搜索引擎ElasticSearch数据踩坑
https://www.cnblogs.com/yangtianle/p/9542872.html
aggregation聚合操作,耗时很长
https://blog.csdn.net/qq_24636385/article/details/101062908?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
map 需要消耗内存,terms小的时候可以用
聚合速度提升5倍
https://blog.csdn.net/laoyang360/article/details/79253294
0 条评论
回复 删除
下一页