自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lucene/Solr解密

探索Lucene/Solr高性能的秘密

  • 博客(31)
  • 收藏
  • 关注

原创 Lucene TFIDFSimilarity评分公式详解

TFIDFSimilarity曾经是Lucene/Solr默认评分公式,想知道Lucene的评分过程就得先了解Lucene的评分公式,接下来将深刻剖析公式每个部分推导过程以及它的含义。

2017-02-26 17:34:41 3822

原创 企业级搜索引擎Solr再次焕发青春

今天非常高兴地向大家宣布一个消息,TIS2.0经过一年多时间的代码开发,终于将开发分支代码合并到了主干上分支上。他是一款基于SOLR的具有高性能、高可靠、高扩展性的企业级、一站式搜索中台产品,利用TIS可快速为您构建企业级搜索服务。想通过这篇博客向大家简要地介绍TIS的前世今生,如果可以对各位日常工作中构建企业搜索应用有所帮助,那真是不胜荣幸。TIS功能特性离线数仓负责索引实例全量数据构建,将关系数据库中的ER实体按照要求打平成为一张宽表导入搜索引擎(这部分底层可以TIS的插件机制方便地切换各种成熟

2020-10-29 01:48:03 389 1

原创 Lucene Search流程之二

介绍Lucene的Search流程,从查询发起到文档的收集的所有步骤全在文中。从索引应用的角度进一步巩固Lucene索引构建流程,做到知其然也知其所以然。流程之外,还介绍了Lucene如果实现布尔检索模型,以及应用。

2019-02-28 20:28:06 993

原创 Lucene Search流程之一

你知道搜索过程如何读取TermsDict,如何实现近似查询的吗?TermQuery与SpanQuery查询有什么不一样吗?先回顾倒排索引两大结构,讲述Lucene搜索流程中如何通过TermsDict获取到Postings所在的位置信息,以及每种方式是如何工作的且服务哪些查询类型。此外简述了读取不同的Postings信息,对应的查询类型。

2019-01-16 18:50:55 1517

原创 Lucene8.0新特征 DocValues改进

Lucene8.0新特征预告,继续优化DocValues,提升DocValues随机访问的性能。进一步讨论IndexedDISI的实现细节,以及如何服务DocValues。

2018-12-25 13:28:33 3503 4

原创 Lucene DocValues索引文件详解

解密DocValues索引的存储结构,为何正向索引能给搜索结果再处理带来更多可能性和不一样的体验。由哪里结构完成存储需求,相对FieldCache又有哪些优点?

2018-11-29 14:37:55 3512 2

原创 Lucene倒排索引简述 细说倒排索引构建

设计合适的数据结构对影响提升至关,在特定的场景使用的合适的结构是成功的基石,Lucene采用哪些数据结构解决构建索引的性能呢?本文将带你领略Lucene数据结构之美。

2018-11-13 23:39:42 10878 5

原创 Lucene倒排索引简述 番外篇

Lucene构建索引是一个非常复杂的过程,需要经过多道工序才能完成。那你知道Lucene在索引构建过程有哪些工序吗?又是整体流程是怎么样的呢?

2018-10-30 19:18:27 1468 4

原创 Solr/SolrCloud Faceting细节三则

FacetComponent提供了Faceting功能,你了解Faceting吗?你知道facet.overrequest.count和facet.overrequest.ratio这两个参数吗?你知道Faceting总是带自QueryComponent的结果集吗

2018-10-30 16:28:53 1053 1

原创 Lucene倒排索引简述 之倒排表

文章目录前言Postings编码VIntBlockPackedBlockPostings文件结构说明Frequencies And Skip Data(.doc文件)TermFreqs -- FrequenciesMulti-level SkipList -- SkipDataPostitions(.pos文件)Payloads and Offsets(.pay文件)总结前言上一篇《Lucen...

2018-10-09 20:31:55 7016

原创 Lucene倒排索引简述 之索引表

Lucene倒排索引的核心内容,索引表,你对这部分真的熟悉了吗?那你知道FST用什么地方吗?FST又存储了什么内容呢?有什么功能呢?关于Burst-Trie,你知道Lucene是如何采用它的思想来加速Lucene搜索性能的吗?

2018-09-27 09:57:42 4151 5

原创 Lucene's MergePolicy

Lucene’s MergePolicyLucene很多特征,在我看来跟LSM-Tree的数据库非常相似,甚至很多问题的解决方式都如出一辙。这里我想跟大家来聊聊Lucene的Segment合并问题,这个问题同样发生LSM-Tree数据库(HBase)。我们知道我们每次冲刷索引时,Lucene都会生成一个Segment。类似就是每个MemStore的冲刷势必会产生一个HFile的道理是一样一...

2018-03-23 16:58:33 1224 3

原创 Hive本地调试

一准备二事情远没这么简单呢1 winutilsexe找不到2 系统找不到指定的文件3 系统找不到指定的路径三这样就可以了吗1 UnsatisfiedLinkError2 如果还不行四结尾虽然已经很习惯看静态代码了,但是这种方式始终很不方便,需要来来回回翻找代码不说,还得自己分析每个变量的值、和路径。因此决定花点时间让代码在IDE上跑起来,然而这个过程在...

2018-02-11 20:24:38 1829

原创 Solr 迟到的Payloads

是什么让索引时Boost汗颜退场,又是什么是让Payloads在Solr6.6开始名声大噪,走进Solr6.6 新特性之一,Payloads Query了解她的前世今生,她的沉沉浮浮。PayloadsQuery为我们带来哪些不一样查询和文档组织方式呢,也许你看完了之后就不需要频频groupby了;也许你读完之后就不需要Nested Document了;也许你会用到的,却是没有想到过的佳境。

2017-10-23 22:28:09 2424

原创 Solr Date类型的哪些你不得不了解的细节

我们先来看看Solr日期类型的一些内幕,然后讨论一下Solr日期类型存在的一些问题,最后我们看看怎么解决现存的问题。概述DateField在Solr4.x之前,我们只有DateField,这类型现在用的应该比较少了,它对应Java中的java.util.Date类型。实现上,如你所知它就是一个long的时间戳。所以它相当于我们用LongField。在高版本的Solr已经看不到这个

2017-07-09 14:29:58 8566 9

原创 Solr搜索统计 JSON Faceting API

如果你一直用在Solr,并打算使用Solr来做一些统计分析的话,接下来的内容你会非常感兴趣。solr 5.3的时候完全重写了Solr查询语法,其中最为重要的就是重写Solr Facet查询语法。她就是我们今天的主角,JSON Facet API是一种全新的搜索查询语法,针对Facet+Stats这种统计查询。她更加贴近SQL,更加贴近某搜索引擎。

2017-06-26 03:40:46 2818 4

原创 Solr查询语言 JSON Request API

JSON Request API是一套优雅高效查询语法,尤其在搜索统计方面带全新的体验,既简洁又漂亮。绝对是一次非常美好的体验。

2017-06-13 14:51:32 2677

原创 大明想跟你聊聊Solr6.x

来来来,坐下来,我们一起来聊聊Solr6.6。其实我关注Solr也有很长时间了,已经有小几年了吧。接下来, 我们来具体的聊一聊Solr几个变化或者变化趋势。

2017-06-08 23:50:00 2354

原创 Lucene DocValues详解

DocValues,人称正向索引,也是大家所认识的面向列存储。即通过文档编号与字段值在索引建立直接映射的关系,并存储。对DocValues我想你并不陌生,但我相信你对它并不算熟悉。接下来,我们将具体来看看它的存储结构、字段类型、以及使用场景等。

2017-03-07 00:10:39 10542

原创 JUC之JDK自带锁StampedLock

StampedLock是JDK 1.8的一把新锁,同样出自Doug Lee之手。这货高级了,出身显赫、自带光环,有着光辉的使命。她是一把不一样的锁,前面我们所整理过的两把锁(ReentantLock&ReentrantReadWriteLock)都是基于AQS框架实现,同时又都具有可重入性(当然可重入性不是由AQS框架带来的)。然而她却与众不同,她是读写锁,她是把乐观锁,她是基本于时间戳实现。

2017-02-22 02:18:29 953

原创 JUC之JDK自带锁ReentrantReadWriteLock

Java纪年1.5年,ReentrantReadWriteLock诞生于J·U·C。此后,国人一般称它为读写锁。人如其名,人如其名,她就是一个可重入锁,同时她还是一个读、写锁。跟ReentrantLock并没有亲属关系因为ReentrantReadWriteLock在命名上跟ReetrantLock非常贴近,很容易让人认为她跟ReentrantLock有继承关系

2017-02-14 23:10:25 527

原创 JUC之JDK自带锁ReentrantLock

ReentrantLock出身自Java 1.5,中文名可重入锁 是Java JDK自带独占锁的唯一实现,也是最常用的锁,是synchronized的升级版。我们中间有个synchronized我们已经认识过synchronized了,知道她能帮我们实现线程同步提供原子性语义,同时又有可重入性。同时我们也已经知道了可重入性是什么意思,也知道公平性的含义。

2017-02-12 10:19:50 844

原创 JUC之AQS框架

AQS是一个框架,一个提供锁或同步器依赖于`FIFO等待队列`所必要的“基础设施”的框架。**Dong Lea**之所以写个抽象类的目的是为了简化我们实现同步器的工作。提供一个基于FIFO等待队列,可以用于构建锁或者其他同步装置的基础框架。意在能够成为实现大部分同步需求的基础。AQS默认提供了独占式和共享式两种模式,JDK对应的实现有ReentrantLock和ReentrantReadWriteLock。即除

2017-02-08 00:38:21 3344

原创 JUC之volatile

volatile提供了一个高效的同步机制,她在某些情况下可以代替synchronized实现更轻量和高效的同步机制,同时也更为脆弱,更难于掌控。被volatile修饰的变量具有内存可见性,但不具有原子性。至于什么是可见性,前面已经做过简单介绍,接下来我们进一步来看什么是可见性。

2017-02-06 03:12:38 613

原创 JUC之synchronized

synchronized是Java语言的一个关键字,用来修饰一个方法或者代码块,使得目标达到线程同步的目的。当我们希望某个方法或者代码块,同一时间只能有一个线程能够执行,即是同一时间只有一个线程能够进入该方法或者代码块,其它线程将会被阻塞直接原线程执行结束,此时我们使用该关键字。

2017-02-04 15:22:58 637

原创 同步锁前传 相关术语索引

本文主要梳理了并发编程中常用的相关术语定义以及简要解释。

2017-02-04 04:03:18 418

原创 Solr/SolrCloud SolrConfigHandler详解

SolrConfigHandler用来更新solrconfig.xml配置的Handler,她用来获取配置信息,和编辑配置信息。

2016-07-09 22:02:51 1520 2

原创 Solr/Lucene MMapDirectory的小细节

由于MMapDirectory引发的血案,在比较实时的SoftCommitTracker下,IO居高不下。本文可以让更加了解commitTracker以及DirectoryFactory。

2016-07-08 12:05:42 1962

原创 Solr/SolrCloud 莫名出现了CompoundFile

你是不是也发现了在 useCompoundFile = false 情况下,还不要脸的出现了 .cfs、.cfe 呢?然后,你觉得十分莫名,为什么出现这种情况。进而思考如何让Solr听你的话,不再出现 .cfs、.cfe 是吗?如果有一个是,那请一定要看看本博文,看之后你一定会有结论的。

2016-06-17 22:08:09 1024

原创 Solr/SolrCloud SearchHandler详解

详细解读Solr中SearchHandler的处理逻辑。单机各Cloud模式下SearchHandler的设计和流程变化,对如何写扩展SearchHandler以及SearchComponent都会一定的帮助。

2016-06-12 13:57:20 1949

原创 Solr/SolrCloud 简述搜索请求过程

简述Solr/SolrCloud的搜索请求过程,剖析请求到Solr之后的处理逻辑。Solr/SolrCloud原来还是一个优秀的MVC框架。

2016-06-11 23:02:49 1921

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除