ElasticSearch
文章平均质量分 71
东天里的冬天
Java技术专家,CSDN不常看,有问题可以通过微信公众号“假装正经的程序员”进行沟通
展开
-
ElasticSearch教程——基于completion suggest实现搜索提示
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 前言completion suggest也叫自动完成,搜索推荐,搜索提示 ,一般多叫自动完成,即auto completion。比如说我们在百度,搜索,你现在搜索“大话西游” --> 百度,自动给你提示,“大话西游电影”,“大话西游小说”, “大话西游手游”等,不用你把所有你想要输入的文本都输入...转载 2019-02-05 11:45:07 · 2527 阅读 · 1 评论 -
ElasticSearch教程——fielddata原理初探
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 1、博文kibana嵌套聚合,下钻分析,聚合分析中kibana嵌套聚合,下钻分析,聚合分析GET /test_index/test_type/_search { "aggs": { "group_by_test_field": { "terms": { "fiel...转载 2018-11-21 10:30:23 · 3827 阅读 · 0 评论 -
ElasticSearch教程——cross-fields策略
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇cross-fields搜索,一个唯一标识,跨了多个field。比如一个人,标识,是姓名;一个建筑,它的标识是地址。姓名可以散落在多个field中,比如first_name和last_name中,地址可以散落在country,province,city中。跨多个field搜索一个标识,比如搜索一个人名,或者一个地...转载 2018-11-16 16:26:30 · 2100 阅读 · 0 评论 -
ElasticSearch教程——聚合数据内部原理以及doc value机制内核级原理
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 聚合数据内部原理聚合分析的内部原理是什么????aggs,term,metric avg max,执行一个聚合操作的时候,内部原理是怎样的呢?用了什么样的数据结构去执行聚合?是不是用的倒排索引?搜索+聚合,写个示例GET /test_index/test_type/_search { "...转载 2018-11-20 14:40:48 · 2635 阅读 · 4 评论 -
ElasticSearch教程——best fields,most fields策略
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 基于dis_max实现best fields策略进行多字段搜索1、为帖子数据增加content字段POST /forum/article/_bulk{ "update": { "_id": "1"} }{ "doc" : {"content" : "i like to write best ela.转载 2018-11-08 11:10:15 · 1913 阅读 · 0 评论 -
ElasticSearch教程——relevance score
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 relevance score (相关性分数)需求:搜索标题中包含java的帖子,同时呢,如果标题中包含hadoop或elasticsearch就优先搜索出来,同时呢,如果一个帖子包含java hadoop,一个帖子包含java elasticsearch,包含hadoop的帖子要比elasticsearc...转载 2018-11-07 18:35:23 · 981 阅读 · 0 评论 -
ElasticSearch教程——精准全文检索
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 1、为帖子数据增加标题字段POST /forum/article/_bulk{ "update": { "_id": "1"} }{ "doc" : {"title" : "this is java and elasticsearch blog"} }{ "update"转载 2018-11-07 17:46:16 · 1426 阅读 · 0 评论 -
ElasticSearch教程——filter执行原理深度剖析(bitset机制与caching机制)
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇(1)在倒排索引中查找搜索串,获取document listdate来举例word doc1 doc2 doc32017-01-01 * *2017-02-02 * *201...转载 2018-11-06 16:09:53 · 880 阅读 · 0 评论 -
ElasticSearch教程——自定义分词器
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇分词器Elasticsearch中,内置了很多分词器(analyzers),例如standard (标准分词器)、english(英文分词)和chinese (中文分词),默认的是standard,standard tokenizer:以单词边界进行切分standard token filter:什么都不做...原创 2018-10-24 15:07:14 · 4508 阅读 · 0 评论 -
ElasticSearch教程——深入剖析Document写入原理以及优化操作
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 初始写入流程(1)数据写入buffer(2)commit point(3)buffer中的数据写入新的index segment(4)等待在os cache中的index segment被fsync强制刷到磁盘上(5)新的index sgement被打开,供search使用(6)buffer被清空...转载 2018-10-29 14:07:19 · 962 阅读 · 0 评论 -
ElasticSearch教程——fielddata内存控制、预加载以及circuit breaker短路器
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 1、fielddata核心原理fielddata加载到内存的过程是lazy加载的,对一个analzyed field执行聚合时,才会加载,而且是field-level加载的一个index的一个field,所有doc都会被加载,而不是少数doc不是index-time创建,是query-time创建 ...转载 2018-11-21 10:50:53 · 1344 阅读 · 0 评论 -
ElasticSearch教程——proximity match 近似匹配
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇1、什么是近似匹配两个句子java is my favourite programming language, and I also think spark is a very good big data system.java spark are very related, because scala i...转载 2018-11-16 16:44:10 · 1909 阅读 · 0 评论 -
ElasticSearch教程——使用search template将搜索模板化
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 前言搜索模板,search template,高级功能,就可以将我们的一些搜索进行模板化,然后的话,每次执行这个搜索,就直接调用模板,给传入一些参数就可以了。 常用情况比如说,一般在大型的团队中,可能不同的人,都会想要执行一些类似的搜索操作这个时候,有一些负责底层运维的一些同学,就可以基于se...转载 2019-02-04 16:51:08 · 2254 阅读 · 0 评论 -
ElasticSearch教程——基于term vector深入探查数据的情况
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 一.term vector介绍获取document中的某个field内的各个term的统计信息。1.term的基本信息term_freq:在在该字段中的频率position:词在该字段中的位置start_offset:从什么偏移量开始的end_offset: 到什么偏移量结束 2...转载 2018-12-16 16:19:55 · 1294 阅读 · 0 评论 -
ElasticSearch教程——lucene的相关度评分TF&IDF算法以及向量空间模型算法
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 1、boolean model类似and这种逻辑操作符,先过滤出包含指定term的docquery "hello world" --> 过滤 --> hello / world / hello & worldbool --> must/must not/should --&g...转载 2018-11-18 14:53:52 · 880 阅读 · 0 评论 -
ElasticSearch教程——前缀搜索、通配符搜索、正则搜索、推荐搜索 和 模糊搜索
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 前缀搜索搜索包含KDKE前缀的articleIDGET /forum/article/_search { "query": { "prefix": { "articleID": { "value": "KDKE" } } }} {...转载 2018-11-18 11:39:55 · 1787 阅读 · 0 评论 -
ElasticSearch教程——percentiles 以及 percentiles rank网站访问时延SLA统计
需求有一个网站,记录下了每次请求的访问的耗时,需要统计tp50,tp90,tp99tp50:50%的请求的耗时最长在多长时间tp90:90%的请求的耗时最长在多长时间tp99:99%的请求的耗时最长在多长时间设置索引,准备数据PUT /website{ "mappings": { "logs": { "properties": {...转载 2018-11-19 16:58:24 · 1448 阅读 · 0 评论 -
ElasticSearch教程——cardinality(去重)算法之优化内存开销以及HLL算法
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇说明,一般使用第一种和第二种方法,很少使用第三种HLL优化(效果不是特别明显)1、cardinality语法es,去重,cartinality metric,对每个bucket中的指定的field进行去重,取去重后的count,类似于count(distcint)cardinality,count(disti...转载 2018-11-19 16:07:33 · 4243 阅读 · 0 评论 -
ElasticSearch教程——document数据建模实战_文件搜索_嵌套关系_父子/祖孙关系数据
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 文件系统1、文件系统数据构造文件搜索数据建模,对类似文件系统这种的有多层级关系的数据进行建模PUT /fs{ "settings": { "analysis": { "analyzer": { "paths": { "tokenize...转载 2018-11-21 20:53:30 · 761 阅读 · 0 评论 -
ElasticSearch教程——聚合数据分析之易并行聚合算法,三角选择原则,近似聚合算
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇1、易并行聚合算法有些聚合分析的算法,是很容易就可以并行的,比如说max有些聚合分析的算法,是不好并行的,比如说,count(distinct),并不是说,在每个node上,直接就出一些distinct value,就可以的,因为数据可能会很多 es会采取近似聚合的方式,就是采用在每个node...转载 2018-11-19 11:47:32 · 1115 阅读 · 0 评论 -
ElasticSearch教程——kibana嵌套聚合,下钻分析,聚合分析
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 两个核心概念:bucket和metriccity name北京 小李北京 小王上海 小张上海 小丽上海 小陈基于city划分buckets划分出来两个bucket,一个是北京bucket,一个是上海bucket北京bucket:包含了2个人,小李,小王上海bucket:包含了3个人,小...转载 2018-11-19 10:43:37 · 4546 阅读 · 0 评论 -
ElasticSearch教程——倒排索引及其数据结构以及优缺点
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 倒排索引Elasticsearch 使用一种称为 倒排索引 的结构,它适用于快速的全文搜索。一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表。例如,假设我们有两个文档,每个文档的 content 域包含如下内容:The quick brown fox jumped ...转载 2018-10-28 10:25:29 · 6078 阅读 · 4 评论 -
ElasticSearch教程——filter与query对比
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇在文章ElasticSearch教程——Kibana简单操作ES末尾我们用到了must,should以及must not来进行一个数据搜索的限制以获取期望的搜索结果。实际上在除了上述所说方法外我们还能使用filter进行过滤,以获取自己想要的结果。 新增测试数据PUT /company/employee...转载 2018-10-08 14:04:48 · 3201 阅读 · 2 评论 -
Can't get text on a START_ARRAY at 14:21
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 在使用must,should以及must not的时候,有个需求是:某个字段可以是X,也可以是Y,甚至可以是Z(此处为描述可以是fangzhu,也可以是caoben),原本请求如下:GET /ecommerce/_search{ "query": { "bool": { "mus...翻译 2018-10-07 19:20:14 · 7396 阅读 · 0 评论 -
ElasticSearch教程——汇总
环境搭建篇ElasticSearch教程——安装ElasticSearch教程——安装Head插件ElasticSearch教程——安装IK分词器插件ElasticSearch教程——安装Kibana基础操作ElasticSearch教程——Kibana简单操作ESElasticSearch教程——批量处理(mget和bulk)ElasticSearch教程—...原创 2018-09-20 09:56:29 · 18894 阅读 · 9 评论 -
ElasticSearch教程——Java常用操作
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 import org.elasticsearch.client.transport.TransportClient;import org.elasticsearch.common.settings.Settings;Settings settings = Settings.builder() ...转载 2018-09-19 20:17:37 · 4008 阅读 · 0 评论 -
ElasticSearch教程——Java进行搜索
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇更多Java相关操作请移步:ElasticSearch教程——Java常用操作 pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:...原创 2018-09-19 19:43:46 · 3387 阅读 · 0 评论 -
ElasticSearch教程——安装Head插件
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 基础环境1.本博客是建立在上篇博客ElasticSearch教程——安装的基础之上2.需要安装git,理论上也可以通过本地下载然后传输到相应服务器上3.需要安装nodejs,运行elasticsearch-head会用到grunt,而grunt需要npm包管理器,所以nodejs是必须要安装的。...原创 2018-09-13 19:43:55 · 8565 阅读 · 2 评论 -
ElasticSearch教程——Java进行高亮显示
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇更多Java操作请移步ElasticSearch教程——Java常用操作 基础环境注意pom中的jar包版本,最好是和服务器上的elasticsearch版本一致,目前就测试来看,不一致貌似也没啥大的影响 pom.xml<?xml version="1.0" encoding...原创 2018-09-18 17:48:45 · 3685 阅读 · 2 评论 -
ElasticSearch教程——安装Kibana
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇简介Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。Kibana让海量数据更容易理解。它操作简单,基于浏览器的用户界面可以快速创建仪表板(dashboard)实时显...原创 2018-09-18 14:21:35 · 2541 阅读 · 0 评论 -
ElasticSearch教程——基本概念及核心配置文件详解
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇配置文件config/elasticsearch.yml 主配置文件config/jvm.options jvm参数配置文件cofnig/log4j2.properties 日志配置文件基本概念接近实时(NRT)Elasticsearch 是一个接近实时的搜索平台。这意味...转载 2018-09-18 11:29:49 · 4789 阅读 · 0 评论 -
ElasticSearch教程——创建索引、类型、文档
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇介绍索引是ElasticSearch存放数据的地方,可以理解为关系型数据库中的一个数据库。事实上,我们的数据被存储和索引在分片(shards)中,索引只是一个把一个或多个分片分组在一起的逻辑空间。然而,这只是一些内部细节——我们的程序完全不用关心分片。对于我们的程序而言,文档存储在索引(index)中。剩下的细节...转载 2018-09-17 15:13:09 · 37193 阅读 · 5 评论 -
ElasticSearch教程——安装
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 基础环境1.系统版本:Centos 7.42.jdk版本:java version "1.8.0_181"(该版本的elasticsearch必须使用jdk8及以上版本)3.安装版本为ElasticSearch6.4.0(之后所有博客基本上都建立在此版本基础之上) 一.下载下载地址:El...原创 2018-09-12 20:01:13 · 4891 阅读 · 0 评论 -
ElasticSearch教程——分片、扩容以及容错机制
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇primary shard 和 replica shard机制(1):index包含多个shard;(2):每个shard都是一个最小的工作单元,承载部分的数据,Lucene实例,完整的简历索引和处理请求的能力;(3):增减节点时,shard会自动在nodes中负载均衡;(4):primary sha...原创 2018-09-20 19:54:56 · 8271 阅读 · 5 评论 -
ElasticSearch教程——并发问题与锁机制
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇并发冲突举个例子,比如在电商的场景下,假设我们有个程序,其工作流程为:1.读取商品信息(包含库存,以牙膏为例);2.用户下单购买;3.更新商品库存(库存减一);如果该程序是多线程的,那么总有一个线程是先得到的,假设我们牙膏库存一开始有100件,此时线程A先得到线程将牙膏的库存设置为99件,然后线程...原创 2018-09-26 16:03:37 · 5676 阅读 · 0 评论 -
ElasticSearch教程——数据一致性
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇一致性概念在分布式环境下,一致性指的是多个数据副本是否能保持一致的特性。在一致性的条件下,系统在执行数据更新操作之后能够从一致性状态转移到另一个一致性状态。对系统的一个数据更新成功之后,如果所有用户都能够读取到最新的值,该系统就被认为具有强一致性。写一致性对于写操作,Elasticsear...原创 2018-09-28 16:53:51 · 6237 阅读 · 1 评论 -
ElasticSearch教程——mapping详解
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 前期准备插入几条数据,让es自动为我们建立一个索引PUT /website/article/1{ "post_date": "2017-01-01", "title": "my first article", "content": "this is my first article in.原创 2018-10-06 22:04:39 · 4187 阅读 · 0 评论 -
Failed to parse value [not_analyzed] as only [true] or [false] are allowed
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 通过如下代码手动建立mapping的时候报错PUT /website{ "mappings": { "article": { "properties": { "author_id": { "type": "long" }翻译 2018-10-06 21:38:42 · 14285 阅读 · 2 评论 -
ElasticSearch教程——Search相关、deep paging问题及解决方案
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 搜索所有索引GET /_search返回结果{ "took": 6, "timed_out": false, "_shards": { "total": 16, "successful": 16, "skipped": 0, "fai原创 2018-10-05 14:21:15 · 1974 阅读 · 0 评论 -
ElasticSearch教程——document以及CURD原理
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 路由原理路由算法shard = hash(routing) % number_of_primary_shardsshard是指document通过该路由算法会落到那个shard上; number_of_primary_shards指的是创建时指定的primary shard数量; 每次增删改查的...原创 2018-09-27 11:40:59 · 1437 阅读 · 1 评论