刘本龙的专栏

个人邮箱:3089008201@qq.com. 技术交流群:684457529

lucene学习笔记(八)lucene实时搜索

在项目中需要使用lucene构建时时搜索。 在网上找了一篇论文,然后根据该文章自己实现了时时搜索功能。原文链接:有关Lucene的问题(8):用Lucene构建实时索引的文档更新问题在有关Lucene的问题(7),讨论了使用Lucene内存索引和硬盘索引构建实时索引的问题。然而有的读者提到,如果...

2017-01-25 14:21:35

阅读数 1076

评论数 0

lucene学习笔记(七)lucene近实时搜索

近实时搜索Lucene3.5起提供了NRTManager管理近实时搜索。原理:将搜索存放到内存中,每个一定时间提交到硬盘中。NRTManager和SearchManager是线程安全的使用NRTManager获取SearchManager。并且使用NRTManager进行修改操作。其修改操作只是保...

2017-01-25 14:15:09

阅读数 1298

评论数 0

solr4.8.1学习笔记

solr4.8.1全文搜索服务器 下载solr–>Lucene3.5.0(solr3.5.0) SolrJsolr wiki1、Solr4.8.1整合到Tomcat中并添加MMSeg4j中文分词器下载最新的lucene和solr。注意solr和lucene版本要一致;并且4.8版本必须使...

2017-01-25 14:11:03

阅读数 1581

评论数 0

lucene学习笔记(六)lucene扩展:高亮显示,luke,tika

lukeluke是一个查询索引的工具,使用时必须注意:版本要与lucene的版本完全一致,否则可能打不开索引信息 java -jar luke-xx-xx.jar可以打开索引 选择索引说存储的目录,就可以使用luke查询和操作相应的索引信息,并且可以在search中根据QueryParser来...

2017-01-25 14:04:34

阅读数 1189

评论数 0

lucene学习笔记(五)lucene高级搜索

1、搜索排序2、搜索过滤3、自定义评分3.1、创建一个类继承于CustomScoreQuery3.2、覆盖getCustomScoreProvider方法3.3、创建CustomScoreProvider类3.4、覆盖customScore方法3.5、根据field进行评分 4、自定义Query...

2017-01-25 13:39:30

阅读数 1054

评论数 0

lucene学习笔记(四)lucene分词详解

分词器的核心类Analyzer SimpleAnalyzer StopAnalyzer WhitespaceAnalyzer StandardAnalyzer TokenStream分词器做好处理之后得到的一个流,这个流中存储了分词的各种信息,可以通过TokenStream有效的获取到分词单元信息...

2017-01-25 13:31:30

阅读数 2764

评论数 2

lucene学习笔记(三)lucene搜索查询

1、搜索的简单实现(TermQuery)1.1、创建IndexReader1.2、创建IndexSearcher1.3、创建Term和TermQuery1.4、根据TermQuery获取TopDocs tds.totalHits是总记录数,和传入的num没有任何关系 1.5、根据TopDocs获取...

2017-01-25 13:23:35

阅读数 888

评论数 0

lucene学习笔记(二)lucene建立索引

1. 基本概念Field.Store.YES或者NO(存储域选项) 设置为YES表示或把这个域中的内容完全存储到文件中,方便进行文本的还原 设置为NO表示把这个域的内容不存储到文件中,但是可以被索引,此时内容无法完全还原(doc.get) Field.Index(索引选项) Index.ANALY...

2017-01-25 13:22:03

阅读数 910

评论数 0

lucene学习笔记(一)简介

这是3年前的学习笔记,使用的lucene3.6.1,现在将其搬到CSDN博客上来。虽然版本比较老了,但是其内部实现机制变动并不是特别大。 本系列教程分为一下内容:在全文索引工具中,都是由这样的三部分组成 1. 索引部分(I am a boy) 2. 分词部分 3. 搜索部分系统架...

2017-01-25 12:21:15

阅读数 911

评论数 0

Elasticsearch学习笔记(七)Elasticsearch分布式集群工作原理简介

路由我们前面知道,ES集群每一个节点都可以接受命令,但是数据是分片存储的,那ES集群怎么知道应该去哪个节点上修改哪个分片的数据呢? 与redis等其他分布式一样,当一个请求到来时,首先会根据ID进行取余来将请求分配到对应的节点上。 路由算法shard = hash(routing) % num...

2017-01-25 12:19:12

阅读数 3879

评论数 0

Elasticsearch学习笔记(六)Elasticsearch分布式集群值helloWord

集群信息查看查看集群健康值我们在前面的文章中介绍了简历一个ES集群,现在就是用这个集群进行说明。通过head插件看进入head插件

2017-01-25 12:14:45

阅读数 2628

评论数 0

Elasticsearch学习笔记(五)批量操作

一次性检索多个文档【多个查询条件】mget 结果中可以看到:第二个文档不存在,但是mget请求返回码是200,即使一个都不存在也是返回200,所以要判断found是否为TRUE来判断是否真正查询出数据。.上面的_index,_type都是同一个,可以将查询简写为:

2017-01-25 12:10:56

阅读数 2891

评论数 0

Elasticsearch学习笔记(四)版本控制[并发安全]

乐观锁我们知道锁有悲观锁和乐观锁之分,数据库中的事务就是悲观锁,CAS就是属于乐观锁,关于CAS乐观锁的概念请参考本人另一篇文章: java高并发:CAS无锁原理及广泛应用一个CAS方法包含三个参数CAS(V,E,N)。V表示要更新的变量,E表示预期的值,N表示新值。只有当V的值等于E时,才会将V...

2017-01-25 12:08:45

阅读数 3110

评论数 0

Elasticsearch学习笔记(三)Elasticsearch5.1.2安装

下载首先到官网下载最新的5.1.2的安装包,下载地址:https://www.elastic.co/products/elasticsearch解压tar -zxvf elasticsearch-5.1.2.tar.gz修改jdk版本注意,elasticsearch需要使用jdk8,但是由于我对L...

2017-01-24 15:19:55

阅读数 9481

评论数 0

Elasticsearch学习笔记(一)Elasticsearch2.4.2安装

简述  14年我接触lucene ,并自学将其应用到项目中,当时是直接使用lucene的API,确实复杂一些,不过在学习lucene的过程中对搜索引擎有了一个全面的认识。Elasticsearch和solr是基于lucene的开源搜索引擎,它对lucene进行了封装,对开发者来说使用更加简单,...

2017-01-23 18:14:01

阅读数 2997

评论数 0

Elasticsearch学习笔记(二)Elasticsearch入门

elasticsearch术语简介Elasticsearch是一个分布式的文档(document)存储引擎。它可以实时存储并检索复杂数据结构——序列化的JSON文档 当然,我们不仅需要存储数据,还要快速的批量查询。虽然已经有很多NoSQL的解决方案允许我们以文档的形式存储对象,但它们依旧需要考虑...

2017-01-23 18:13:22

阅读数 3099

评论数 0

thrift学习笔记(一) thrift简介及第一个helloword程序

简介facebook开源的RPC框架,秉承了Facebook一贯的只管拉屎不管擦屁股的作风. Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl,...

2017-01-23 11:29:38

阅读数 8264

评论数 0

服务化实战之 dubbo、dubbox、motan、thrift、grpc等RPC框架比较及选型

概述前段时间项目要做服务化,所以我比较了现在流行的几大RPC框架的优缺点以及使用场景,最终结合本身项目的实际情况选择了使用dubbox作为rpc基础服务框架。下面就简单介绍一下RPC框架技术选型的过程。

2017-01-23 11:08:30

阅读数 56022

评论数 5

升级jdk8后系统报错解决:java.lang.RuntimeException: java.io.IOException: invalid constant type: 18

今天项目从jdk7升级到jdk8,Tomcat启动竟然报出这个运行时错误。 错误信息:java.io.IOException: invalid constant type: 18

2017-01-19 15:43:05

阅读数 5141

评论数 0

关于Integer数值比较的问题以及不可变对象

前言写这篇文章是因为在之前的项目中通过findbugs进行代码优化,爆出的问题。其实我们的代码中暗藏危机,只是没有暴露出来而已 我这里使用jdk7 测试public static void main(String[] args) { Integer a = 10; ...

2017-01-19 11:01:05

阅读数 1609

评论数 0

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