上一节我们了解了es一系列的语法但却不知道其检索的原理,我们本节来一块了解下其创建索引时的原理,根据前面两节的学习我们或多或少了 解到分词,映射等关键词。事实上它们都是在创建索引时对索引的一系列设置,比如settings,mapping等。接下来我们将一一作出解释详解篇
1, 倒排索引
2, mapping–映射
2.1 字段类型
3, settings–设置
3.1, analyzer-tokenizer-分词类型
3.2, analyzer-char_filter-字符过滤器
3.3, analyzer-filter-内容过滤器
4, 过滤查询
# 倒排索引 名词解释:根据创建索引时设置字段映射(mappings)中的分词类型进行分词,文本以空格进行分词,并进行记录文本对应的主键id 请看图(explain-one) # mapping--映射 名词解释:创建索引文档时对其字段类型的设置,默认会根据添加的字段内容进行默认设置,通俗的将就是给文档字段设置类型 具体解释请看图: 创建索引时,手动设置字段映射(图-explain-set-mapping) 创建索引时,默认生成文档字段映射(图-explain-get-mapping-default) 注: 此处以英文进行举例, 此处涉及到 同义词-待补充。 倒排索引与MySQL中的聚簇索引与非聚簇索引含义相似 字段映射仅可增加,删除,不能修改。增加按(图-explain-set-mapping) *** 作即可,删除映射需直接删除索引(delete /index) 重新创建索引映射。 创建字段时可创建复杂类型,如object等类型具体请看上述 2.1字段类型 设置字段中analyzer与search_analyzer时,分词类型最好都一致。 二级索引(fields):为字段设置二级索引,用于检索时精确查找或排序。 在设置字段映射时 index : false 表示该字段不参与分词与keyword类型一致,只进行精确查找。 eg : "field":{"type":"text", "index":false} ,如上设置该字段不进行分词。 # 索引-settings 主要作用:为索引增加自定义分词器等选项,此处只简单罗列各类型设置已附上地址,有兴趣的小伙伴自行查看文档 其个字段含义如图(index-settings) # filter 过滤查询 名词解释:使用filter查询其查询项相关度(score)不包含在query查询中, 常应用在范围,精确值查询 filter与query对比: filter:不进行相关度计算,不按照相关度排序,内置缓存 query: 进行相关度计算,按照相关度排序,实时查询 查询举例: query过滤范围查询 (图 search-query-range), filter过滤范围查询 (图 search-filter-range),
文档转载
ElasticSearch官方文档
禁止转载,违者必究
补录
第一节,ElasticSearch----安装部署
第二节,ElasticSearch----语法学习
第三节,ElasticSearch----索引详解
第四节,ElasticSearch----IK分词器
第五节,ElasticSearch----PHP交互
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)