最新文章列表

solr的facet源码解读(三)——facet.field之数字单值域类型

(这个使用的solr的版本是4.10) 承接上一篇文章,在对单值域的数字类型的域做facet的时候,会使用FCS方法,里面再调用的方法是NumericFacets.getCounts(searcher, base, field, offset, limit, mincount, missing, sort);所以看看这个的代码吧: /** * 处理单值域的数字类型的facet * @ ...
suichangkele 评论(0) 有586人浏览 2018-02-18 20:44

solr的facet源码解读(二)——facet.field

facet.field比facet.query要复杂的多,参数也更多,看看代码吧,方法是:SimpleFacets.getFacetFieldCounts() public NamedList<Object> getFacetFieldCounts() throws IOException, ...
suichangkele 评论(0) 有1144人浏览 2018-02-18 19:30

lucene中关于正向信息的获取——FielldCache

之前写完了docValue的内容,但是如何获取docValue呢?或者将这个问题在宽泛一些,如何获取doc的正向信息,很简单,就是FieldCache,FieldCache采取了一个单利模式,他有一个实现类叫做FieldCacheImpl。所有的获取正向信息的操作都是通过这个类的getxxx方法,在这个通用的方法里面,所有的逻辑都是一样,如果一个域有docValue,则优先会的dcoValues ...
suichangkele 评论(0) 有829人浏览 2018-02-18 17:48

lucene中的docValue实现源码解读(十二)——总结

看完了lucene4.10.4的docValue的五种格式,做个总结吧,顺便和农历的2017说声拜拜,跨年夜,写博客,我估计是中国唯一。 一共五种格式,其中有三种是单值的,Binary,numeric,SortedDocValue,其中Numeric有三种存放格式,分别是压缩表、差值、公约数+差值,Binary可以认为就一种,SortedDocValue的存储格式稍微复杂些,他添加了获得排序的 ...
suichangkele 评论(0) 有853人浏览 2018-02-15 23:12

lucene中的docValue实现源码解读(十一)——SortedSet的读取

对于SetDocValue的读取很简单,因为他的写入的格式和之前的SortedDocValue和SortedNumericDocValue有很多重复的地方,所以在读取的时候也是有很多重复的地方。 先看看最终要返回的接口吧, public abstract class SortedSetDocValues { /** Sole constructor. (For invocation ...
suichangkele 评论(0) 有1212人浏览 2018-02-15 23:11

lucene中的docValue实现源码解读(十)——SortedSet的写入

  看看最后一种docValue,sortedSet,他有点难,如果不是之前看了四种其他的格式的话,不是很容易理解,同理,如果看懂了其他的格式,则很容易理解。先说一下SortedSet吧,它是存储的byte[],一个doc是可以有多个值的,在存储的时候,是排序的,即在索引中是可以查找到每个doc的byte[]的排序的。他的存储是综合了sortedDocValue(存储排序的单值byte[])和 ...
suichangkele 评论(0) 有715人浏览 2018-02-15 21:23

lucene中的docValue实现源码解读(九)——SortedNumericDocValue的读取

再看具体的读取过程之前,先看一下SortedNumericDocValue接口的功能吧, public abstract class SortedNumericDocValues { /** Sole constructor. (For invocation by subclass constructors, typically implicit.) */ protect ...
suichangkele 评论(0) 有811人浏览 2018-02-14 12:34

lucene中的docValue实现源码解读(八)——SortedNumericDocValue的写入

SortedNumericDocValue,乍一看,有好多疑问困扰着我,这种类型的存储的也是排序的吗?是不是可以通过docid获得其排序?是不是和SortedBinaryDocValue一样也是 ...
suichangkele 评论(0) 有624人浏览 2018-02-14 12:03

wsm-lucene 一个简单的Lucene工具类

代码地址: https://gitee.com/shaojiepeng/wsm-lucene wsm-lucene 一个简单的Lucene工具类,通过注释的方式来配置构建索引的字段。提供新建索引、查找、删除、更新方法,支持分页。 所需jar包 lucene-core:2.4.0 lucene-analyzers:2.4.1 commons-logging:1.2 背景 以 ...
彭微肿君 评论(0) 有599人浏览 2018-02-12 10:29

lucene中的docValue实现源码解读(七)——SortedDocValue的读取

之前的一个博客中写了sortedDocValue的写入,这次看看再使用sortedDocValue的时候是如何读取的。读取的方法还是掌握在Lucene410DocValuesProducer中,方法是public SortedDocValues getSorted(FieldInfo field),我们先看一下这个方法返回的对象SortedDocValue吧,在这个类的源码中可以发现这个类是继承 ...
suichangkele 评论(0) 有724人浏览 2018-02-11 08:51

lucene中的docValue实现源码解读(五)——BinaryDocValue的读取

BinaryDocValue的读取和NumericDocValue的读取的原理是差不多的,都是在打开一个新的段时,先读取meta文件,也就是 索引文件,读取到内存,然后保存起来,再用刀某个doc的docValue的时候再去读data文件。看下读取meta文件的代码吧,是在Lucene410DocValuesProducer.readBinaryEntry(IndexInput)中: stati ...
suichangkele 评论(0) 有1278人浏览 2018-02-08 16:33

lucene中的docValue实现源码解读(三)——NumericDocValue的读取

对lucene的docValue的读取是在Lucene410DocValuesProducer中,我们看下他的构造方法,其中类的代码我也复制了一些有用的 class Lucene410DocValuesProducer extends DocValuesProducer implements Closeable { /** 适用于numericDocValue的docValue,key是域 ...
suichangkele 评论(1) 有1263人浏览 2018-02-04 19:43

lucene中的docValue实现源码解读(二)——NumericDocValue的写入

各种类型的docValue的写入是在添加索引的时候,在org.apache.lucene.index.DefaultIndexingChain.indexDocValue(PerField, DocValuesType, IndexableField)方法里面,会有五种类型的docValue,会分别调用不同的DocValueWriter来实现,这篇介绍数字类型的docValue,他是一个很简单、 ...
suichangkele 评论(0) 有1229人浏览 2018-02-04 19:12

lucene中的docValue实现源码解读(一)——综述

        docValue是一个很好用的东西,他是存储的正向的信息,即一个doc-->该doc的一个值,他是区别于stored的域的。在lucene中,docValue是按照列进行存 ...
suichangkele 评论(0) 有1100人浏览 2018-02-04 18:05

solr(lucene)的reRank的核心实现源码解读

换公司了,公司的solr使用的是4.10,使用了ReRankQuery,我自己看了下源码。   先介绍一下solr的reRank,他的意思是进行两轮查找,第一轮对所有的doc进行查找,指定要查找多少个doc,第二轮是在第一轮中查找到的所有的doc中在进行一遍查找,使用一个不同的查询逻辑(也就是另一个query),重新打分,可以指定两次得分的最终处理的策略,最后返回需要查找的结果。说白了,他就 ...
suichangkele 评论(0) 有2074人浏览 2018-01-21 19:09

依赖Lucene的电话号码查询优化

  某天的生产环境服务器突然报告有cpu load超负荷的报警,然后赶紧查看查询日志,发现里里面有大量类似这样的查询: {q=(customer_mobile:/[0-9]{7}7785/+OR+code:7785)&distrib=false&_stateVer_=search4card:1494&start=0&fentityid:123456&row ...
mozhenghua 评论(0) 有1689人浏览 2017-12-07 18:40

多语言版基础管理系统展示[es6版]-简单整合spring+lucene+hadoop

1.整合基于[多语言版基础管理系统展示[es6版] ] 2.整合原想法基于[hadoop+lucene+web 综合小demo] 3.网上各种参考 4.最新消息请关注[我的空间] 5.新增入门配置篇:  多语言版基础管理系统展示[es6版]-入门配置篇  效果如下图:  
minn84 评论(0) 有714人浏览 2017-12-06 19:38

使用Lucene和IKAnalyzer做简单的字符串分词

import java.io.IOException; import java.io.StringReader; import org.wltea.analyzer.core.IKSegmenter; import org.wltea.analyzer.core.Lexeme; public class LucenceTest { public ...
chexiazi 评论(0) 有56人浏览 2017-10-31 13:10

使用Lucene和IKAnalyzer做字符串分词的实例

// 添加搜索记录 @Transactional private void addSearchLog(String content) throws IOException { if(!StringUtils.isEmpty(content)){ // 分词 StringReader sr = ...
chexiazi 评论(0) 有40人浏览 2017-10-31 13:01

最近博客热门TAG

Apache(33931) Lucene(5053) Hadoop(5049) nginx(3449) vim(3262) GCC(2954) memcached(2625) jfreechart(1688) Django(1602) Zend(1413) ActiveMQ(1398) Grails(1374) ActiveRecord(1349) OpenSource(1236) Emacs(870) Glassfish(858) lighttpd(810) rubygems(716) GAE(631) Blend(516)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics