《Elasticsearch权威指南》_笔记


权威指南基于2.x版本;Query DSL 基于6.4.3。

Elasticsearch权威指南

入门

marvel管理工具
/_shutdown;关闭es。
es客户端:节点客户端、传输客户端。
9200,restful HTTP;9300,rpc tcp,更快。
es面向文档,使用json存储数据,

分布式集群

集群、节点、分片。
横向扩展、纵向扩展。
空集群
节点:一个es实例
集群:一个或多个协同工作的节点。
es主节点管理集群级别的变更(索引、节点),不参与文档级别的变更。
客户端可连接集群中任意节点;由连接节点转发请求,并收集整理返回数据。
集群健康
集群健康:red(不是所有主分片可用)、yellow(主分片都可用,从分片不是都可用)、green(主从分片都可用)
索引:存储关联数据的地方。实际上为指向一个或多个分片的逻辑命名空间。类似数据目录。
分片,最小级别的工作单元,存储索引的一部分。将索引切分为多个数据片存储在多个节点,并行以提高查询性能。副本,保证数据可用性。
每个分片都是一个Lucene实例;主分片负责读写,并发复制文档到从,从分片负责读。
集群扩容、缩容时,es自动迁移分片。节点恢复时,只复制故障期间变更的数据。

数据

es是分布式文档数据库,存储序列化的json文档(document)。
文档元数据:_index、_type、_id
使用重试(幂等)、版本控制,处理更新冲突。
版本控制,_version;内部版本控制,自增;外部版本控制,_version设为传入值,不支持局部更新。
_mget、_bulk;可在url中指定默认index、type,在请求体中可覆盖。

分布式增删改查

PUT;增。PUT /index/type/ID
DELETE;删。DELETE /index/type/ID
POST;改。POST /index/type/
GET;查。GET /index/type/ID?q=EXPR,或/index/type/_search
HEAD;元数据。HEAD /index/type/ID
分片规则:hash(route)%分片数;route默认为_id,也可自行指定。
主分片数在创建后不可改变,否则之前的路由值会发生错误。
请求节点将写请求路由到对应主分片执行,而后复制文档到从分片;读请求,使用轮询方式进行负载均衡。
mget、bulk请求;请求节点先按分片构建数据请求,而后发到对应分片执行。

搜索

_search;搜索。
多个index、type时;逗号隔开。允许使用*匹配index、type。
/_all/lkk/_search;搜索全部索引的lkk文档。
from、size;指定偏移量、数量
简易搜索:/_search?q=EXPR
EXPR为name:value格式,空格隔开;前缀:+与,-非,无前缀为或。
EXPR必须转为url格式。
q=lkk;找到任意列包含lkk的文档。

映射和分析

mapping,映射,确定列类型。
analysis,分析,构建反向索引。
数据类型:string、number、boolean、date,null、数组、对象。
ES的数据大致可分为两种类型:确切值(完全匹配)、全文文本(匹配度)。
反向索引,由词查询文档。标准化:全小写,转换同根词同义词
analyzer,分析器;包括:字符过滤器(特殊字符处理)、分词器(断词)、表征过滤(标准化)。
内建分析器:

  • 标准分析器;根据Unicode Consortium分隔单词,去掉标点符号,转小写。
  • 简单分析器;将非单个字母的文本切分,转小写。
  • 空格分析器;仅按空格切分。
  • 语言分析器;考虑特定语言的特性,自带停用词。

string类型核心参数:index(analyzed、not_analyzed、no)、analyzer(分词器)
/_analyze;测试分析器
字段可以添加,但不能删除。
数组;数组的值必须为同一类型,es使用第一个值的类型确定数组类型。
null;空字段。不被索引,如:""、null、[]、[null]
object;多层对象。内部对象索引时会扁平化,变为key:[vals]形式;扁平化过程中,会丢失对像中数组对象属性key之间的关联关系,需使用nested类型。

结构化查询

GET /_search BODY;可查询多个索引、类型,同字符串查询。也支持POST方式。
{};空查询,返回全部文档
from,size;分页参数
query;查询参数。空查询等同于:{ “query” : { “match_all”:{}}}
查询子句结构:

  • queryName:{fieldName:val};queryName,match、match_all等。
  • queryName:{fieldName: {arg:val}};指定字段,arg为match操作属性:query、operator、boost等

结构化过滤
filter,只匹配不评分,可使用缓存。通过字节集缓存数据。
term,terms;精确过滤,包含。
range;范围过滤;gt、lt、gte、lte
exists,missing;字段过滤
bool;合并多个过滤。must、shoud、must_not
结构化查询
query,查询并评分,不可使用缓存。
match_all;查询全部文档。默认。score为1.
match;全文文本时使用匹配度,确切值时精确匹配。
multi_match;搜索多个字段。
bool;类似bool过滤。must、should、must_not,合并多个查询。
查询与过滤的合并
search API中只能包含query语句,使用filtered保证filter、query语句。
{ query : { filtered : { filter,query}}}
验证查询
/_validate/query;验证查询语句是否合法
/_validate/query?explain;查询计划,类似sql explain

排序

默认按相关性,降序排序。
sort;指定排序字段,多个字段时用数组。
包含多个值的字段排序,使用max、min、avg、sum等选出排序值。
不使用score排序时,不计算score。

"sort": [
{ "date": { "order": "desc","mode": "min" }},
{ "_score": { "order": "desc" }}
]

字符串排序,可构建内部not_analyze字段,用于排序。
相关性计算:检索词频率、反向文档频率、字段长度准则。

分布式搜索

ES查询分两步:查询、取回 。
查询阶段;协调节点转发请求;分片返回文档id、排序字段;排序分片返回到有序优先队列中。
取回阶段;协调节点筛选结果,向分片请求数据;分片按需返回。
搜索选项:

  • preference;控制分片选择,避免结果震荡。
  • timeout;超时
  • routing;路由选择,限制分片选择。
  • search_type;搜索类型。count计数,scan扫描,
    query_and_fetch查询取回等。

扫描和滚屏;批量返回数据,不排序。滚屏标记文档,扫描获取并返回结果集。

分片内部原理

倒排索引,词-文档id;不可变;

  • 优:不需要锁、缓存(自身、filter)、允许压缩;
  • 劣:加入、修改文档时需重建整个索引

通过补充索引,处理更新问题。

  • es按段搜索,每个段都是一个倒排索引。
  • 提交点,列出所有已知段的文件。
  • 文档更新时,在内存中保存新的文档、索引,同时旧文档标记.del,从结果集中剔除;延时写入磁盘。

近实时搜索:

  • ES在内存中缓存更新的文档、索引;_refresh后可见。
  • 默认每秒执行一次_refresh,将缓存信息写入文件系统缓存。
    索引_flush,默认30min,文件系统缓存写入磁盘(fsync写入磁盘)。
  • 批量更新时,修改索引刷新间隔时间refresh_interval。

持久化变更:

  • 使用translog日志,记录变更。
  • 日志默认同步写入磁盘;可调整index.translog.durability/sync_interval
    段自动合并,refresh过程中,es自动合并段。

聚合

桶(文档集合,group by)、指标(文档集合的字段统计,sum、avg、count、min/max等)
聚合只对非文本类型。aggs内可有多个聚合,必须为key:body格式。
桶内套指标、桶,aggs;
不带桶时计算指标,对所有条目计算。
指标,指标计算:

  • avg、sum、min/max;
  • value_count;计数
  • extended_stats;
  • cardinality;去重统计个数。参数:field、precision_threshold
  • percentiles;百分位数度量,百分比-数值。
  • percentiles_rank,数值-百分比;

桶,结果集分组;带key,count信息:

  • terms;按字段值分桶。参数:field、size
  • histogram;图表,条形图;field值为x轴,间隔为interval。参数:field、interval、min_doc_count、extended_bounds
  • date_histogram;日期图表。参数:field、interval、format
  • global;全局桶,计算type中全部文档;
  • filter;过滤桶,只过滤聚合结果,只能得到一个结果集;顶级元素post_filter,只过滤搜索结果;过滤器,过滤搜索结果、聚合结果。

桶排序,order;内置排序(_count、_term、_key),度量排序(引用指标别名,多级使用>连接)

Query DSL 6.4.3

主要:全文查询,term查询,复合查询,连接查询
测试数据导入:https://blog.csdn.net/u012224510/article/details/86571305
命令:curl -H “Content-Type: application/x-ndjson” -XPOST “IP/INDEX/TYPE/_bulk?pretty” --data-binary @JSONPATH
jsonl类型,不带index、type
json对象,根属性:

  • query;查询
  • from、size;分页
  • sort;排序;排序字段数组。
  • search_after;指定深分页排序值;与排序字段匹配。跳过给定值,合理选择排序字段。
  • aggs;聚合
  • _source;返回字段,false不返回,只返回元数据
  • stored_fields;返回store字段
  • collapse;折叠去重,显示排序最高元素,可在inner_hits中展示所有元素。
  • min_score;最低分
  • highlight;高亮,从反向索引、term_vector获取匹配位置。
  • suggest;建议

过滤

filter,只匹配不评分,可使用缓存。通过字节集缓存数据。
term,terms;精确过滤,包含。
range;范围过滤;gt、lt、gte、lte
exists,missing;字段过滤
bool;合并多个过滤。must、shoud、must_not

查询

query,查询并评分,不可使用缓存。
match_all;查询全部文档,默认;score为1。参数:boost
match_none;不匹配任何文档

全文查询Full text

match;全文文本时使用匹配度,确切值时精确匹配。

  • query;查询值
  • operator;match分词后拆为多个boolean查询,连接符,and、or默
  • minimum_should_match;or个数。值类型
  • analyzer;分词器
  • lenient;忽略类型转换异常,false默。如text–number
  • fuzziness;模糊查询,莱温斯坦距离。
  • zero_terms_query;零条件查询。none默、all
  • cutoff_frequency;截止频率,区分高频词、低频词。
  • auto_generate_synonyms_pharse_query;同义词查询。true默。

match_phase;短语查询,接近匹配。

  • slop;间隔,1默。

match_phase_prefix;类似短语查询,短语查询+前缀匹配最后一个词。

  • max_expansion;最大搜索长度。50默。
  • multi_match;match查询的多字段版本。
  • fields;字段数组。[“lkk^3”],指定权重为3
  • type;查询类型。best_field默、most_field、cross_field、phrase、phrase_prefix
  • tie_breaker;非最佳匹配系数。

common;偏好非常见词,对高频词、低频词有匹配次数要求。

  • minimum_should_match;高频/低频词匹配情况。如:2、“2<50%”、{high_freq:2, low_freq:3}

query_string;查询字符串语法。

  • query;查询表达式,用and、or连接各子条件,小括号括起。
  • default_field;默认字段
  • fields;多字段数组
  • default_operator;默认操作符,or默,and。
  • quote_analyzer;带引号内容的分析器
  • allow_leading_wildcard;允许首部通配符(?、*)。true默。
  • enable_position_increment;允许位置增量。true默

simple_query_string;简单字符串

  • +与,|或,-非,""包裹不分词文本,*前缀匹配,()括起表达式,~N指定slop或fuzziness

Term level queries

term;值查询

  • value;值
  • boost;权重

terms;多值查询

  • index、type、id、path、route;引用值对象;path字段名,route路由信息

terms_set;值集合查询,规定最少匹配数。

  • terms;值数组
  • minmum_should_match_field;最少匹配数字段名
  • minmum_should_match_script;最少匹配数计算脚本,params.num_terms值数组长度

range;范围查询

  • lt、gt、lte、gte;条件,日期按单位舍入
  • within、contains、intersects;与range类型比较,query包含、文档包含、交集
  • format;日期格式化
  • time_zone;时区,用于转为UTC时间

exists;存在查询,字段非null

  • field;存在的字段名,null值转换时,判定转换后的值

prefix;前缀查询。i love lk,匹配最后一词的前缀

  • value;前缀

wildcard;通配符查询,?单*多。防止以?*为首部。

  • value,boost

regexp;正则查询

fuzzy;模糊查询

  • value值,boost权重;
  • fuzziness;莱温斯坦距离。AUTO默。
  • prefix_length;不会被模糊化的初始字符数。0默
  • max_expansions;最大术语数。50默
  • transpositions;模糊转置,ab-ba。false默。

type;类型查询

  • { “query” :{ “type” :{ “value” :“ _doc” } } }

ids;id查询,类似/index/type/_mget { “ids”:[]}

  • index,type,values;

复合查询

条件组合,分数计算
constant_score;常数查询,包装查询到filter子句,在过滤器上执行。

  • filter;包装查询
  • boost;权重

bool;组合查询,

  • must、should,会累计评分;filter、must_not,在过滤器中执行,不评分
  • boost、minimum_should_match

dis_max;disjunction,最佳匹配查询。类似multi_match的best_field,most_field

  • queries查询对象数组,tie_breaker,boost

function_score;自定义分数

  • query查询对象,random_score随机分数

boosting;权重查询

  • positive、nagative;加分、减分
  • nagative_boost;减分权重

连接查询

查询nested嵌套对象。
nested;嵌套查询返回父,查询nested类型字段。

  • path;字段路径
  • score_mode;评分模式。avg默、sum、min、max、none
  • ignore_unmapped;忽略未映射内容。false默。

has_child;子查询,返回父,查询文档是否有对应的子对象。慢,少用。

  • type;子类型
  • query;查询json
  • score_mode;评分模式。avg、sum、min、max、none默
  • min_children、max_children;最少匹配数、最大匹配数
  • ignore_unmapped;忽略未映射类型。false默

has_parent;父查询,返回子。慢,少用。

  • parent_type;父类型
  • score;计入父分。false默
  • ignore_unmapped。

parent_id;父ID查询,返回子。join类型 。

  • type;子类型
  • id;父id
  • ignore_unmapped。

特殊查询

与其他查询不兼容的查询。
more_like_this;相似查询
script;脚本查询
percolate;存储查询
wrapper;包装查询;查询表达式为base64字符串。

  • {query: { wrapper: { query: BASE64EXPR}}}

跨度查询

除span_multi外,不可与非跨度查询联用。
span_term;包含term查询。

  • value、boost

span_multi;包装查询(wildcard、regexp、fuzzy、prefix、range)。

  • match;匹配查询对象

span_first;前N位查询。

  • match;查询匹配对象
  • end;偏移量

span_near;间距查询。

  • clauses;查询对象数组
  • slop;允许间距
  • in_order;按查询对象数组匹配;

span_or;或。

  • clause

span_not;非。

  • include;剔除
  • exclude;不剔除
  • pre;include前N位不能包含exclude;0默
  • post;include后N位不能包含exclude;0默
  • dist;等效于同时设置pre、post

span_containing;含有查询;先big后little,同时满足

  • big,little;查询对象

span_within;被包含查询;先little后big,little项在big匹配区间被满足。

  • big,little

field_masking_span;跨字段查询。

  • query,field

查询与过滤的合并
search API中只能包含query语句,使用filtered保证filter、query语句。
{ query : { filtered : { filter,query}}}

验证查询

/_validate/query;验证查询语句是否合法
/_validate/query?explain;查询计划,类似sql explain

查询建议

suggest属性;纠错、推荐。可有多个建议器,通过可有区分。
completion推荐,phrase纠正,term纠正。
term建议器;term

  • text;内容
  • field;字段
  • analyzer;分析器
  • suggest_mode;类型。missing默,popular,always

短语建议器;phrase

  • text,field,analyzer;

推荐建议器;completion,不纠错,专用类型completion。

  • field;字段
  • prefix;推荐匹配前缀
  • size;返回数量

聚合

bucket分组,metric指标,matrix矩阵,pipeline管道。
聚合可以嵌套。

指标

计算一组文档的指标值。数值聚合:单数值聚合、多数值聚合。
avg,max,min,sum;均值,最大值,最小值,总和。

  • field,script
  • missing;缺失时值;
  • value_type;为脚本确定值类型。string、long、double、date、IP、boolean

weight_avg;加权平均值。

  • value;值,可为多值字段。
  • weight;权重,必须是单个值,多值字段时使用脚本计算为单值。
  • format;返回数值格式
  • value_type;值类型

cardinality;统计不同值个数,hyperloglog++计数,count(distinct name)。

  • field,missing,script;
  • precision_threshold;精度阈值,超过时模糊。3000默,40000最大。

extended_stats;扩展统计汇总,多值聚合。增加方差、标准差等。

  • field,missing,script。
  • sigma;统计相关系数

percentiles;计算指定字段百分值的数值,多值聚合。返回百分比-数值。

  • field,script,missing
  • percents;计算指定百分值数组。[ 1, 5, 25, 50, 75, 95, 99 ]默
  • keyed;以对象形式返回,key为百分值。true默,false以对象数组返回。

pecentile_ranks;计算指定字段值百分值,多值聚合。返回数值-百分比。

  • field,keyed,script,missing
  • values,待计算的字段值数组。

scripted_metric;脚本计算。

stats;统计汇总,多值,包括:min,max,sum,count和avg。

  • field,script,missing

top_hits;最好匹配聚合。类似分组后分页。

  • from;偏移量。
  • size;返回数量,3默
  • sort;排序,默认按查询分数
  • _source;返回字段数组

value_count;值个数统计。多值字段,统计所有文档的值个数之和

  • field,script
  • 不支持missing,null时个数为0

分组,结果集集合。单桶(children,filter,global,missing,reverse_nested),多桶。
adjacency_matrix;邻接矩阵聚合,无向加权图。默认&分隔,低值在前。桶文档数为0时不显示桶。

  • filters;命名过滤器集合,不支持数组形式。

children;join类型的聚合。

  • type;join名

date_histogram;日期直方图,按日期间隔聚合。

  • field,format,keyed,script,missing,order;
  • interval;日期间隔。ms,s,m分,h,d,w周,M月,q季度,y
  • timezone;时区
  • offset;时间偏移量
  • 按dayOfWeek分组,脚本获取dayOfWeek:“doc[‘date’].value.dayOfWeek”

date_range;日期范围

  • field,format,missing,keyed
  • ranges;日期范围数组。from、to、key,含头不含尾;可只指定from或to。
  • now-10M/M,当前时间减10个月,取月

filter;单桶聚合。聚合前过滤,只能返回一个桶。

  • 顶级元素post_filter,返回搜索结果前过滤;
  • 过滤器,搜索时过滤。

filters;多桶聚合。

  • filters;过滤器集合,可为命名过滤器集合,也可为过滤器数组。
  • other_bucket;返回其他桶。false默
  • other_bucket_key;其他桶键名,_other_默

global;全局桶。返回索引中全部文档的集合。
histogram;直方图。按间隔聚合。

  • field,interval,keyed,missing,order
  • min_doc_count;最少文档数,低于时不输出。0默
  • extended_bound;扩展边界。min_doc_count=0时有意义,扩展x轴。

ip_range;按ip范围聚合

  • field,keyed
  • ranges;范围数组。from-to,或mask分组。

missing;无指定字段聚合,单桶。

  • field

nested;嵌套对象聚合

  • path;嵌套字段名

range;范围聚合

  • field,keyed,script
  • ranges;范围数组。from-to

reverse_nested;反向嵌套聚合,nested聚合中使用。获取嵌套对象的父对象结果集。
simpler;采样聚合。不可嵌套在breadth_first中。

  • shard_size;采样条数,从高分开始。
    significant_terms;重要术语聚合。big_前缀为全局汇总量。前景,query、父聚合;背景,聚合字段
  • field。
    terms;term聚合。
  • field,size、order、min_doc_count

管道

汇总其他聚合及指标。父级管道(derivative,moving_fn,cumulative_sum,bucket_selector,bucket_sort)、兄弟管道。
父级管道,兄弟管道;按管道要求的聚合区分。
参数:

  • buckets_path;桶路径,聚合分隔符>,指标分隔符点号.。聚合名中有点号时,用[]括起
  • gap_policy;缺口策略,skip跳过,insert_zeros插0。默认skip

avg_bucket、max_bucket、min_bucket、sum_bucket;兄弟聚合,要求兄弟必须是多桶聚合。

  • buckets_path,gap_policy,format
    derivative;导数,父级聚合。histogram、date_histogram导数。
  • buckets_path,gap_policy,format
  • 导数聚合中桶路径使用另一个导数聚合,为二阶导数。

stats_bucket,extended_stats_bucket;统计桶聚合;兄弟聚合。

  • buckets_path,gap_policy,format,sigma;

percentiles_bucket;百分比桶聚合,兄弟聚合。

  • buckets_path,gap_policy,format,percents

moving_fn;移动函数聚合,处理有序数据。父级聚合。histogram,date_histogram中。

  • buckets_path;
  • window;窗口大小,
  • script;脚本,处理窗口中的数据。MovingFunctions.min,max等预定义函数,也可自行定义。

cumulative_sum;累计总和。父级聚合。histogram,date_histogram中。

bucket_selector;桶筛选。父级聚合。

  • buckets_path;对象,key为变量名,value为字段。在script中通过params引用。
  • script;脚本,返回boolean。params.key引用字段值。

bucket_sort;桶排序。父级聚合。

  • sort;排序字段数组
  • from,size;返回限制

聚合脚本

script属性:

  • lang;指定脚本语言
  • source;脚本语句
  • params;参数

脚本内变量

  • doc;文档。doc.name.value,获取name属性值。
  • params;引用scripts.params中定义的变量。params.name
  • _value;引用field字段值。

API

API约定

_all;全部索引
index1,index2;多索引
index*,-index1;匹配index开头的索引,去除index1
url参数:

  • ignore_unavailable;忽略不可达。true、false
  • allow_no_indices;无匹配索引时是否报错;true、false
  • expand_wildcards;匹配哪种索引。open,closed,none,all(open,closed)

Document API

_create;put指定创建
_update;post指定更新
_delete_by_query;查询后删除
_update_by_query;查询后更新
_mget;多查询
_bulk;批量操作
_reindex;重新索引
_termvectors;获取term信息
_mtermvectors;获取多个term信息

Search APIs

_search;搜索
_search_shards;执行搜索的分片信息
_count;计数
_validate/query;验证搜索;_validate/query?explain,解释
_explain;解释搜索与文档的关联,分数计算等
_field_caps;多个索引中检索字段
_rank_eval;排名

indices APIs

索引管理
PUT/DELETE/GET/HEAD indexName;增、删、查、存在
/{index}/_close、_open;关闭、打开
_shrink;收缩索引到新索引
_split;拆分索引到新索引
_rollover;过渡别名到新索引
配置管理
PUT/GET/HEAD _mapping;设置、获取、存在
_alias、_aliases;别名
PUT/GET _settings;设置、获取
_analyze;分析器分析
_template;索引模板
监控
_stats ;索引统计信息
_segments;段信息
_recovery ;恢复信息
_shard_stores;分片存储信息
状态管理
_cache/clear;清除缓存
_flush;文件缓冲区信息刷入磁盘
_refresh;缓存数据刷入文件缓冲区
_forcemerge;合并分段

cat APIs

查看信息
_cat;列出所有cat命令。参数:v标题输出,help显示输出列,h=Cols规定输出列
/_cat/aliases/{alias};别名
/_cat/allocation;节点分片数、存储信息
/_cat/count;文档数
/_cat/fielddata;fielddata使用的内存
/_cat/health;集群健康
/_cat/indices;全部索引
/_cat/master;主节点
/_cat/nodeattrs;节点属性
/_cat/nodes;集群拓扑信息
/_cat/pending_tasks;待处理任务
/_cat/plugins;插件
/_cat/recovery;恢复情况
/_cat/repositories;全部快照信息
/_cat/snapshots/repo1;指定库快照
/_cat/thread_pool;集群线程池信息
/_cat/shards;分片位置信息
/_cat/segments;段信息
/_cat/templates;索引模板

Cluster APIs

集群
/_cluster/health;集群健康
/_cluster/state;集群状态
/_cluster/stats;集群统计信息
/_cluster/pending_tasks;待处理任务
/_cluster/reroute;移动分片
/_cluster/allocation/explain;集群分配解释
GET/PUT /_cluster/settings;获取、修改集群配置
节点
/_nodes/stats;节点统计信息。/_nodes/nodeId1,nodeId2/stats
/_nodes;节点信息
/_nodes/usage;功能使用信息
/_nodes/hot_threads;节点热线程信息
其他
/_remote/info;集群信息
_tasks;当前任务

索引配置

其他配置,settings,mappings

settings

static;静态配置,创建索引、关闭索引时才可修改
dynamic;动态配置。
https://www.elastic.co/guide/en/elasticsearch/reference/6.4/index-modules.html#_static_index_settings
static
number_of_shards;主分片数,5默
analysis;自定义分析器。全局<索引<字段
shard.check_on_startup;启动时检测;false默,checksum检查物理损坏,true检查物理和逻辑损坏,fix检查损坏并删除损坏。
codec;编码方式
routing_partition_size;自定义路由可到达的分片数,1默
load_fixed_bitset_filters_eagerly;为嵌套查询预加载缓存,true默
dynamic
number_of_replicas;副本数,1默。
auto_expand_replicas;自动扩展副本数。false默,0-5上下限
refresh_interval;刷新频率,缓冲区–文档写入缓存区;1默,-1禁用
blocks系列;阻塞对索引的操作
routing系列;路由策略
priority;恢复优先级。正比。
search.slowlog.,indexing.slowlog.;查询慢日志,索引慢日志;默认禁用。
translog系列;传输日志,持久化。

mappings

根属性
_index,_type,_id,_uid;元数据
_source;源文档信息。_source{ excludes: [fNames]}},只索引不存储
properties;映射信息
dynamic;动态映射。true默,false,strict
date_detection;日期检测
dynamic_date_formats;日期格式
number_detection;数值检测
字段属性
type;数据类型。string、number、date、boolean、binary、range、object/nested
analyzer;索引分析器
search_analyzer;查询分析器,默认analyzer
normalizer;text转keyword
boost;权重
index;是否索引,true默,false不允许搜索
index_options;倒排索引信息。docs、freqs、positions、offsets;前包。
format;日期格式化
coerce;类型强转
copy_to;复制字段,组合多个字段
doc_values;存储与_source字段相同的数据,非analyzed字段的正向索引。true默
store;单独存储,一般用于大字段,只索引不返回,在_source中排除。
enabled;对object类型,只存储不索引。
fields;多重字段,下级字段
ignore_above;索引、排序时忽略超长部分
ignore_malformed;忽略类型错误,对应字段设为null
norms;存储计算得分的信息;true默
null;null值替换形式。null不可存储,存替换字符串。
position_increment_gap;短语查询间距,优先级小于slop
properties;映射,object、nested类型使用。
term_vector;存储匹配的term信息,便于后续使用,如高亮。no默,yes,with_positions/offsets/positions_offsets

其他配置

aliases;别名

分析器

字符过滤器,分词器,标准化过滤器
GET /_analyze { analyzer, text};测试分析器

内建分析器

分词标准化
StandardUnicodeText
Simple非字母字符转小写
Whitespace空格
Stop非字母字符转小写,删除停用词
Keyword不分词,原样返回
Pattern正则分词转小写,删除停用词
Language特定语言的分析器,如english、french
Fingerprint特殊分析器,检查重复

配置内建分析器

{
  "settings": {
    "analysis": {
      "analyzer": {
        "std_english": {
          "type": "standard",#分析器类型
          "stopwords": "_english_" #停用词类型
        }
      }
    }
  }
}
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值