Elasticsearch学习笔记
文章平均质量分 85
Elasticsearch 是一个分布式文档数据库,文档中的每个字段都是被索引的数据并且可以被检索,它能够扩展支持上百个服务节点,并支持 PB 级别的结构化或者非结构化数据,它可以在很短的时间内存储、检索或者分析大量的数据。
灵动的艺术
知其然亦知其所以然!
展开
-
ElasticSearch学习笔记一初识 Lucene
初识 Lucene什么是全文检索?非结构化数据搜索方法Lucene 简介索引和搜索新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图...原创 2018-10-17 11:46:33 · 1498 阅读 · 0 评论 -
ElasticSearch学习笔记二 初识Elasticsearch
初识ElaticsearchElasticsearch简介Elasticsearch术语及概念文本(Text)索引词/精确值(term)精确值 VS 全文分析(Analysis)与分析器字符过滤器分词器Token 过滤器映射(Mapping)集群(Cluster)节点(Node)分片(Shard)主分片(Primary shard)副本分片(Replica shard)复制(replica)路由(...原创 2018-10-17 14:34:55 · 1477 阅读 · 0 评论 -
ElasticSearch学习笔记三 Elasticsearch Kibana x-pack安装与环境搭建
Elasticsearch Kibana x-pack安装与环境搭建环境要求安装Elasticsearchx-pack 安全控件安装kibana安装kibana安装x-pack使用kibana环境要求安装 Elasticsearch 之前,你需要先安装一个较新的版本的 Java,最好的选择是,你可以从 www.java.com 获得官方提供的最新版本的 Java。安装Elasticsearch...原创 2018-10-17 16:13:02 · 1709 阅读 · 0 评论 -
ElasticSearch学习笔记四 文档和索引文档
ElasticSearch学习笔记四 文档和索引文档文档JSON文档元数据_index_type_id索引文档使用自定义的 IDAutogenerating IDs文档在大多数应用中,多数实体或对象可以被序列化为包含键值对的 JSON 对象。但是很少只是简单的键值列表,更多时候它拥有复杂的数据结构,比如包含日期、地理位置、另一个对象或者数组。 一个 键 可以是一个字段或字段的名称,一个 值 可...原创 2018-10-18 09:34:42 · 1366 阅读 · 0 评论 -
ElasticSearch学习笔记五 映射和数据类型
ElasticSearch学习笔记五 映射和数据类型映射(Mapping)动态映射动态映射规则静态映射Elasticsearch字段数据类型字符串类型整数类型浮点类型逻辑类型date类型binary类型array类型object类型映射(Mapping)映射定义了文档和它所包含的属性被存储类型和索引方式等等举例来说,我们用映射来定义以下信息:是否一个字符串应该被当成全文类型来存储和索引。...原创 2018-10-18 14:52:07 · 1881 阅读 · 0 评论 -
ElasticSearch学习笔记六 映射元字段( Mapping Meta-Fields)
ElasticSearch学习笔记五 映射元字段( Mapping Meta-Fields)Meta-FieldsIdentity meta-fields(文档标示元字段)_index_uid_type_idDocument source meta-fields(愿文档元字段)_source禁用_source包含或者去除 _source 元字段里面的字段_sizeIndexing meta-fie...原创 2018-10-18 16:11:46 · 2915 阅读 · 0 评论 -
ElasticSearch学习笔记之七 映射参数(Mapping parameters)
ElasticSearch学习笔记之七 映射参数(Mapping parameters)映射参数(Mapping parameters)analyzernormalizerboostcoercecopy_todoc_valuesdynamicenabledfielddataeager_global_ordinalsformatignore_aboveignore_malformedindex_op...原创 2018-10-19 13:03:33 · 3202 阅读 · 1 评论 -
ElasticSearch学习笔记之八 Doc Values and Fielddata
ElasticSearch学习笔记之八 Doc Values and FielddataDoc Values 简介Doc values 的原理深入理解 Doc Values列式存储的压缩禁用 Doc ValuesAnalyzed strings and FielddataDoc Values 简介当你对一个字段进行排序时,Elasticsearch 需要访问每个匹配到的文档得到相关的值。倒排索...原创 2018-10-19 13:42:44 · 1768 阅读 · 0 评论 -
ElasticSearch学习笔记之九 复杂数据类型和嵌套对象
ElasticSearch学习笔记之九 复杂数据类型和嵌套对象复杂数据类型空域数组域多层级对象内部对象的映射内部对象的索引内部对象数组嵌套对象嵌套对象映射复杂数据类型除了前面说到的简单数据类型,Elasticsearch还支持JSON 的null ,数组,和对象.空域字段取值可以为空,当然,数组也可以为空。 然而,在 Lucene 中是不能存储 null 值的,所以我们认为存在 null ...原创 2018-10-19 14:20:30 · 4748 阅读 · 0 评论 -
ElasticSearch学习笔记之十 分析与分析器
ElasticSearch学习笔记之十 分析与分析器分析分析器标准分析器简单分析器空格分析器语言分析器分析分析 包含下面的过程:首先,将一块文本分成适合于倒排索引的独立的 词条 ,之后,将这些词条统一化为标准格式以提高它们的“可搜索性”,或者 recall分析器执行上面的工作。 分析器 实际上是将三个功能封装到了一个包里:字符过滤器首先,字符串按顺序通过每个 字符过滤器 。他们的...原创 2018-10-19 14:32:34 · 1134 阅读 · 0 评论 -
ElasticSearch学习笔记之十一 Anayle API和IK分词器
ElasticSearch学习笔记之十一 Anayle API和IK分词器Anayle APIIK分词器IK分词器版本支持安装下载或者编译选择一选择二重启ElasticSearchIK分词器效果Anayle APIanalyze API 可以用来查看可分析全文是如何被分析的。我们可以在消息体里,指定分析器和要分析的文本:GET /_analyze{ "analyzer": "stand...原创 2018-10-19 15:24:03 · 1322 阅读 · 0 评论 -
ElasticSearch学习笔记之十二 RESTful API with JSON over HTTP
ElasticSearch学习笔记之十二 RESTful API with JSON over HTTPRESTful API with JSON over HTTPRESTful API with JSON over HTTP所有其他语言可以使用 RESTful API 通过端口 9200 和 Elasticsearch 进行通信,你可以用你最喜爱的 web 客户端访问 Elasticsea...原创 2018-10-19 16:53:25 · 1912 阅读 · 0 评论 -
ElasticSearch学习笔记之十三 索引API
ElasticSearch学习笔记之十三 索引API建立索引删除索引索引设置索引映射索引的打开与关闭建立索引我们知道,我们在想索引插入数据的时候,索引可以自动创建并创建映射,如果我们需要,我们可以对索引的建立过程做更多的控制:设置索引的分片和复制信息。配置映射信息。我们可以手动创建索引,在请求体里面传入设置或类型映射。PUT my_index{ "settings": { ...原创 2018-10-19 17:30:45 · 2439 阅读 · 0 评论 -
ElasticSearch学习笔记十四 检索API
ElasticSearch学习笔记十四 检索API检索_searchhitstookshardstimeout多索引查询查询表达式分页合并查询语句检索lasticsearch 不只会_存储(stores)_ 文档,为了能被搜索到也会为文档添加_索引(indexes)_ ,这也是为什么我们使用结构化的 JSON 文档,而不是无结构的二进制数据。文档中的每个字段都将被索引并且可以被查询 。El...原创 2018-10-22 09:58:34 · 1830 阅读 · 0 评论 -
ElasticSearch学习笔记十五 深入检索
ElasticSearch学习笔记十五 深入检索查询还是过滤过滤查询查询和过滤性能差异查询APImatch_allmatchmulti_matchrangetermtermsexists missing深入分析组合多查询constant_score 查询查询还是过滤Elasticsearch 的检索一般来讲我们分为2种:过滤(filtering context)和查询(query conte...原创 2018-10-22 11:40:51 · 1593 阅读 · 0 评论 -
ElasticSearch学习笔记十六 Range数据类型和检索
ElasticSearch学习笔记十六 Range数据类型和检索Range数据类型数据和日期IP范围Range数据类型Elasticsearch支持以下范围数据类型:数据类型说明integer_range有符号32位整数范围 2-32 ~ 232-1float_range单精度32位IEEE 754 浮点数范围long_range有符号64位整数范围 ...原创 2018-10-22 14:04:24 · 12570 阅读 · 0 评论 -
ElasticSearch学习笔记十七 文档更新及版本控制
ElasticSearch学习笔记十七 文档更新及版本控制文档更新版本控制悲观并发控制乐观并发控制_version版本控制通过外部系统使用版本控制部分文档更新脚本更新文档部分失败重试文档更新在 Elasticsearch 中文档是 不可改变 的,不能修改它们。相反,如果想要更新现有的文档,需要 重建索引。但是我们不需要自己来完成操作,Update API 会帮我们完成。例如我们新插入一条纪录...原创 2018-10-22 15:56:26 · 2658 阅读 · 0 评论 -
ElasticSearch学习笔记之十八 排序Sort
ElasticSearch学习笔记之十八 排序SortSortSort ValuesSort OrderSort mode optionSorting within nested objectsMissing ValuesIgnoring Unmapped FieldsSortElasticsearch 允许你在特性的字段上进行一次或者多次排序,每次排序都是可以颠倒的,_score字段用来按照...原创 2018-10-23 09:50:23 · 13776 阅读 · 1 评论 -
ElasticSearch学习笔记之十九 多字段排序和字符串排序
ElasticSearch学习笔记之十九 多字段排序和字符串排序排序多级排序字符串排序排序为了按照相关性来排序,需要将相关性表示为一个数值。在 Elasticsearch 中, 相关性得分 由一个浮点数进行表示,并在搜索结果中通过 _score 参数返回, 默认排序是 _score 降序。新建索引映射PUT tweet{ "mappings": { "tweet": { ...原创 2018-10-23 11:01:24 · 16398 阅读 · 1 评论 -
ElasticSearch学习笔记之二十 聚合
ElasticSearch学习笔记之二十 聚合聚合聚合的基本结构Values Source聚合聚合的核心在于基于搜索查询的聚合数据。它是基于简单的称为聚合构建块,它可以组合,以便构建复杂的数据总结。聚合通常可以视作一组在一系列文档上执行信息分析的工作单元,执行的上下文定义该文档集是什么(例如,顶级聚合在搜索请求的执行的查询/过滤器的上下文中执行)。聚合可以分为很多种,每一种都有其自己的目标...原创 2018-10-23 13:59:36 · 1634 阅读 · 1 评论 -
ElasticSearch学习笔记之二十一 指标聚合
ElasticSearch学习笔记之二十一 指标聚合指标聚合Avg AggregationScriptValue ScriptMissing valueWeighted Avg Aggregationweighted_avg Parametersvalue Parametersweight ParametersCardinality AggregationPrecision controlCoun...原创 2018-10-23 15:09:30 · 4447 阅读 · 0 评论 -
ElasticSearch学习笔记之二十二 指标聚合续
ElasticSearch学习笔记之二十二 指标聚合续Max AggregationMin AggregationPercentiles AggregationStats AggregationSum AggregationValue Count AggregationMax AggregationMax Aggregation是一个从需要聚合的文档中提取字段最大值的单值数字型聚合. 这些值既...原创 2018-10-23 15:59:20 · 1572 阅读 · 0 评论 -
ElasticSearch学习笔记之二十三 桶聚合
ElasticSearch学习笔记之二十三 桶聚合桶聚合Children Aggregation(子聚合)Range Aggregation(范围聚合)Keyed Response桶聚合桶聚合不同于指标聚合,它不对文档字段进行计算,而是对我们的文档进行分组, 每一个分组都关联一个标准 (依赖于聚合类型),这个 标准决定文档是否会划分到分组. 换句话说,桶就是一个文档的集合,除了桶本身,桶计算还...原创 2018-10-23 18:23:02 · 5162 阅读 · 0 评论 -
ElasticSearch学习笔记之二十四 桶聚合续
ElasticSearch学习笔记之二十三 桶聚合续Date Range Aggregation(时间范围聚合)Missing ValuesDate Format/PatternTime zone in date range aggregationsKeyed ResponseFilter Aggregation(过滤聚合)Filters Aggregation(多重过滤聚合)Anonymous ...原创 2018-10-24 16:03:25 · 2480 阅读 · 0 评论 -
ElasticSearch学习笔记之二十五 索引词聚合
ElasticSearch学习笔记之二十五 索引词聚合Terms Aggregation(索引词聚合)SizeDocument counts are approximateTerms Aggregation(索引词聚合)Terms Aggregation是一个动态的多分组聚合,每个分组都有一个独一无二的索引词。例如:GET /_search{ "aggs" : { ...原创 2018-10-24 18:46:01 · 2391 阅读 · 2 评论 -
ElasticSearch学习笔记之二十六 嵌套桶聚合
ElasticSearch学习笔记之二十六 嵌套桶聚合Nested Aggregation(嵌套聚合)Nested Aggregation(嵌套聚合)Nested Aggregation是一个可以对嵌套对象文档进行聚合的单分组聚合。举例来说 我们有一个产品的索引,每个产品有着不同的经销商和不同的价格. 映射如下:PUT /index{ "mappings": { "produ...原创 2018-10-24 19:27:57 · 2893 阅读 · 0 评论 -
ElasticSearch学习笔记之二十七 Pipeline Aggregations
ElasticSearch学习笔记之二十七 Pipeline AggregationsPipeline Aggregationsbuckets_path 语法Special Paths(特殊路径)Dealing with dots in agg names(处理聚合名称中有.)Dealing with gaps in the data(处理空数据)Pipeline AggregationsPi...原创 2018-10-26 11:05:12 · 4927 阅读 · 1 评论 -
ElasticSearch学习笔记之二十八 细说Pipeline Aggregations
ElasticSearch学习笔记之二十八 细说Pipeline AggregationsAvg Bucket Aggregation(平均值分组聚合)Syntax(语法)avg_bucket 参数Max Bucket Aggregation(最大分组聚合)Syntax(语法)max_bucket 参数Min Bucket Aggregation(最小分组聚合)Syntax(语法)min_buck...原创 2018-10-26 11:42:55 · 4193 阅读 · 0 评论 -
ElasticSearch学习笔记之二十九 Java REST Client
ElasticSearch学习笔记之二十七 Java REST ClientJava REST ClientJava High Level REST ClientCompatibility(兼容性)JavadocMaven Repository(Maven仓库)Maven configurationGradle configurationLucene Snapshot repositoryDepe...原创 2018-10-25 12:41:26 · 2218 阅读 · 0 评论 -
ElasticSearch学习笔记之三十 JAVA Client 之 Document APIs
ElasticSearch学习笔记之二十八 JAVA Client 之 文档请求概述Document APIs(文档APIS)Index APIIndex Request(索引请求)Providing the document source(构建文档请求体)Optional arguments(功能参数)Synchronous Execution(同步执行)Asynchronous Executi...原创 2018-10-25 14:19:51 · 2510 阅读 · 0 评论 -
ElasticSearch学习笔记之三十一 JAVA Client 之 GET APIs
ElasticSearch学习笔记之二十八 JAVA Client 之 GET APIsGet APIGet RequestOptional arguments(参数配置)Synchronous Execution(同步执行)Asynchronous Execution(异步执行)Get ResponseGet APIGet RequestGetRequest形如:GetRequest g...原创 2018-10-25 15:37:22 · 1938 阅读 · 0 评论 -
ElasticSearch学习笔记之三十二 JAVA Client 之 Exists Delete Update APIs
ElasticSearch学习笔记之三十 JAVA Client 之 Exists Delete Update APIsExists APIExists RequestSynchronous Execution(同步执行)Asynchronous Execution(异步执行)Delete APIDelete RequestOptional argumentsSynchronous Executi...原创 2018-10-25 17:02:43 · 2088 阅读 · 0 评论 -
ElasticSearch学习笔记之三十三 IK分词器扩展字典及text全文类型数据分词聚合查询
ElasticSearch学习笔记之三十三 IK分词器扩展字典及text全文类型数据分词聚合查询专属词汇分词失败扩展字典查看当前词库自定义词典更新配置再次查看分词text全文类型数据分词聚合新建索引插入数据聚合查询专属词汇分词失败前面我们已经知道了IK分词器已经可以很好的为中文的text全文类型数据分词,但是有一些特定行业的特定专属词汇,IK分词器却不能按照我们的设想来分词,例如 人名/书名/...原创 2018-12-07 14:02:19 · 1801 阅读 · 0 评论