search,solr,elasticsearch
es写一致性原理以及quorum机制深入剖析
摘要:1、consistency,one(primary shard),all(all shard),quorum(default) 我们在发送任何一个增删改操作的时候,比如说put /index/type/id,都可以带上一个consistency参数,指明我们想要的写一致性是什么? put /inde
阅读全文
posted @
2022-02-23 11:56
duanxz
阅读(378)
推荐(0) 编辑
es之8:批量查询mget、批量增删改bulk,document的全量替换
摘要:1、批量查询的好处 就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的。如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100倍 2、批量查询 mget 可以说mget是很重要的,一般来说,在进行查询的时候,如果一次性
阅读全文
posted @
2022-02-19 23:31
duanxz
阅读(1023)
推荐(0) 编辑
es之7:elastic search partial update
摘要:一、什么是partial update? PUT /index/type/id,创建文档&替换文档,就是一样的语法 1、查询更新全量方式 一般对应到应用程序中,每次的执行流程基本是这样的: (1)应用程序先发起一个get请求,获取到document,展示到前台界面,供用户查看和修改 (2)用户在前台
阅读全文
posted @
2022-02-19 17:42
duanxz
阅读(404)
推荐(0) 编辑
ES之一:Elasticsearch入门相关(版本兼容、安装问题)
摘要:一、elasticsearch版本与jdk版本对应关系 参考位置 2020年3月27日更新 二、Transport Client和Rest Client对比 所有Elasticsearch操作都是使用Client对象执行的。Client 定义的所有API都是异步执行的。(要么使用事件监听器回调或者使
阅读全文
posted @
2020-04-25 23:01
duanxz
阅读(4025)
推荐(1) 编辑
ES之1:基本概念及原理
摘要:一、ES 架构 1、ElasticSearchElasticSearch是个开源的分布式的搜索引擎,它可以近乎实时的存储、检索数据; Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的
阅读全文
posted @
2018-12-12 14:45
duanxz
阅读(8838)
推荐(2) 编辑
Kibana安装及使用
摘要:1.Kibana介绍Kibana是一个基于浏览器页面的Elasticsearch前端展示工具。Kibana全部使用HTML语言和Javascript编写的。 2.安装配置Kibana下载地址:https://www.elastic.co/downloads/kibana的下载页面,找到对应的kiba
阅读全文
posted @
2017-03-10 18:02
duanxz
阅读(580)
推荐(0) 编辑
ES之二:ES规范 index 原则
摘要:一、index说明 相信有不少读者用elasticsearch的时候第一个难题就是如何创建好一个index。下面给出具体的样例和原则,帮助大家创建一个相对适合自己业务场景的index,有助于开展后续的开发工作。 先上创建index的模板: curl -XPUT 'http://127.0.0.1:9
阅读全文
posted @
2017-03-10 11:32
duanxz
阅读(11238)
推荐(2) 编辑
ES之七:配置文件详解
摘要:安装流程 http://www.elasticsearch.org/overview/elkdownloads/下载对应系统的安装包(我下载的是tar的),下载解压以后运行es根目录下bin目录的elasticsearch命令(无需配置直接启动),启动后如果能看到类似于下面情况的大量的“INFO”信
阅读全文
posted @
2017-03-10 09:32
duanxz
阅读(6243)
推荐(0) 编辑
ES之六:ElasticSearch中Filter和Query的异同
摘要:如下例子,查找性别是女,所在的州是PA,过滤条件是年龄是39岁,balance大于等于10000的文档: 返回结果: 查询虽然包含这两种,但是查询在不同的执行环境下,操作还是不一样的。 Query与Filter 查询在Query查询上下文和Filter过滤器上下文中,执行的操作是不一样的: Quer
阅读全文
posted @
2017-03-09 22:06
duanxz
阅读(5927)
推荐(1) 编辑
ES之五:ElasticSearch聚合
摘要:前言 说完了ES的索引与检索,接着再介绍一个ES高级功能API – 聚合(Aggregations),聚合功能为ES注入了统计分析的血统,使用户在面对大数据提取统计指标时变得游刃有余。同样的工作,你在Hadoop中可能需要写mapreduce或Hive,在mongo中你必须得用大段的mapreduc
阅读全文
posted @
2017-03-09 22:05
duanxz
阅读(128108)
推荐(8) 编辑
ES之2:海量数据处理之倒排索引
摘要:Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤。特别是它对多条件的过滤支持非常好,比如年龄在18和30之间,性别为女性这样的组合查询。倒排索引很多地方都有介绍,但是其比关系型数据库的b-tree索引快在哪里?到底为什么快呢? 笼统的来说,b-tree索引是为写
阅读全文
posted @
2016-03-09 09:00
duanxz
阅读(1775)
推荐(0) 编辑
ES之3:elasticsearch优化收集
摘要:1 增加 Refresh 时间间隔2 减少副本数量3、开启异步刷写4、开启慢查询日志 二、服务器层面 5、内存设置6、集群分片设置7、Mapping建模8、索引优化设置9、查询优化 1 增加 Refresh 时间间隔 为了提高索引性能,Elasticsearch 在写入数据时候,采用延迟写入的策略,
阅读全文
posted @
2016-03-09 08:58
duanxz
阅读(1556)
推荐(0) 编辑
ES之4:Elasticsearch并发控制及乐观锁实现原理
摘要:普通关系型数据库使用的是(悲观并发控制(PCC)):当我们在修改一个数据前先锁定这一行,然后确保只有读取到数据的这个线程可以修改这一行数据 ES使用的是(乐观并发控制(OCC)) ES不会阻止某一数据的访问,然而,如果基础数据在我们读取和写入的间隔中发生了变化,更新就会失败,这时候就由程序来决定如何
阅读全文
posted @
2016-02-23 10:25
duanxz
阅读(2929)
推荐(0) 编辑
ES之三:ElasticSearch5.x以上的字段类型汇总
摘要:1 核心数据类型 1.1 字符串类型 - string(5.0以后不再支持) (1) 使用示例: PUT website { "mappings": { "blog": { "properties": { "title": {"type": "string"}, // 全文本 "tags": {"t
阅读全文
posted @
2016-02-22 14:19
duanxz
阅读(1376)
推荐(0) 编辑
ES之5:分词器
摘要:一、分词器概念 1、Analysis 和 Analyzer Analysis: 文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词。Analysis是通过Analyzer来实现的。 当一个文档被索引时,每个Field都可能会创建一个倒排索引(Mapping可以设置不索引该Fie
阅读全文
posted @
2016-02-22 14:08
duanxz
阅读(2066)
推荐(0) 编辑
ES之6:restHighLevelClient源码
摘要:本文讨论的是JAVA High Level Rest Client向ElasticSearch6.3.2发送请求(index操作、update、delete……)的一个详细过程的理解,主要涉及到Rest Client如何选择哪一台Elasticsearch服务器发起请求。 maven依赖如下: <d
阅读全文
posted @
2016-02-22 10:19
duanxz
阅读(1475)
推荐(0) 编辑
ES:document的创建和删除
摘要:1、document的全量替换 (1)语法与创建文档是一样的,如果document id不存在,那么就是创建;如果document id已经存在,那么就是全量替换操作,替换document的json串内容 (2)document是不可变的,如果要修改document的内容,第一种方式就是全量替换,直
阅读全文
posted @
2016-01-11 19:11
duanxz
阅读(1303)
推荐(0) 编辑
全文检索引擎Solr系列——整合中文分词组件IKAnalyzer
摘要:IK Analyzer是一款结合了词典和文法分析算法的中文分词组件,基于字符串匹配,支持用户词典扩展定义,支持细粒度和智能切分,比如: 智能分词的结果是: 最细粒度分词结果: 整合IK Analyzer比mmseg4j要简单很多,下载解压缩IKAnalyzer2012FF_u1.jar放到目录:E:
阅读全文
posted @
2016-01-11 19:09
duanxz
阅读(570)
推荐(0) 编辑
全文检索引擎Solr系列——整合中文分词组件mmseg4j
摘要:默认Solr提供的分词组件对中文的支持是不友好的,比如:“VIM比作是编辑器之神”这个句子在索引的的时候,选择FieldType为”text_general”作为分词依据时,分词效果是: 它把每一个词都分开了,可以想象如果一篇文章这样分词的搜索的体验效果非常差。能够和Solr集成的中文分词组件有很多
阅读全文
posted @
2016-01-11 19:05
duanxz
阅读(446)
推荐(1) 编辑
全文检索引擎Solr系列——Solr核心概念、配置文件
摘要:Document Document是Solr索引(动词,indexing)和搜索的最基本单元,它类似于关系数据库表中的一条记录,可以包含一个或多个字段(Field),每个字段包含一个name和文本值。字段在被索引的同时可以存储在索引中,搜索时就能返回该字段的值,通常文档都应该包含一个能唯一表示该文档
阅读全文
posted @
2016-01-11 19:04
duanxz
阅读(667)
推荐(0) 编辑