未分类文章
Lucene进阶:and 和or的条件查询
在用Lucene实现全站搜索的过程中,很可能会遇到这样的问题,只所有某种特定的信息资源,而不是全部.如:某综合性站点,有新闻,产品,论坛,Blog,视频等资源,而搜索的时候先选一个类型(下拉列表),再输入关键字进行搜索(当然,这种情况可以直接用sql来实现,我们这里是基于lucene的实现考虑).这种情况下,就要用到and和or的查询了.这里假设索引已经建立好了(如何建立索引请参考:http://w ...
Lucene(Lucence)建立索引(字段)
Lucene,这是官方称谓,也有许多人叫它Lucence,做搜索和分词用的工具包.也有人说是Java下的搜索引擎框架库,见仁见智的说法罢了.不管叫什么,确实非常有用,比如做全站的搜索,其实它的用处远大于此,但凡涉及到文本搜索的地方就能用到它.我们就以做全站搜索为例,演示一下如何应用Lucene建立索引. public void index(List<IArticle> list) { ...
基于lucene的对数据库&文件夹检索(ss2,appfuse,jdon,nutch杂烩)
整个工程文件和src,lib包可以用ss2下lib包。 完成了基本的对数据库表和文件夹(本来是对vss做索引,老大说没时间了,就对文件夹做就行了)的索引维护,对常用的office文件和rar,zip文件进行解析索引,中文分词用ck(这里多的是分词,可以找更好的)。 应用需要修改config/jdbc.properties lucene.properties lucene.xml 以及dataAcce ...
Lucene应用的一点体会
Lucene应用(我用的是Lucene2.1.0,有些观点有可能也不太正确) 1.多线程索引,共享同一个IndexWriter对象 这种方式效率很慢,主要原因是因为: java 代码 public void addDocument(Document doc, Analyzer analyzer) throws IOException { SegmentInfo newSegmentI ...
Lucene Hack之通过缩小搜索结果集来提升性能 (1)
作者:caocao(网络隐士),http://www.caocao.name,http://www.caocao.mobi 转载请注明来源:http://www.iteye.com/topic/78884 一、缘起 Lucene在索引文件上G之后的搜索性能下降很严重,随便跑个搜索就要上0.x秒。如果是单线程搜索那么性能尚可,总可以在0.x秒返回结果,如果是Web式的多线程访问,由于Lucene的内 ...
基于词典的最大匹配的Lucene中文分词程序
把自己之前完成的基于词典的最大匹配的中文分词程序修改成基于Lucene。其中包括了3种词典的组织形式:简单顺序存储SimpleDictionary,首字Hash词典HashDictionary,双重Hash词典;例外实现了两种分词算法:正向最大匹配MaxMatchSegment与反向最大匹配分词ReverseMaxMatchSegment;最后使用使只需根据需要配置spring的配置文件即可选择词典 ...
自己写的一个基于词库的lucene分词程序--ThesaurusAnalyzer
前一段时间用lucene做一个搜索程序,找了好长时间的中文分词程序,都没找到合适的,最后自己弄了一个.现在共享出来.希望对大家有用. 分词算法: 基于词库的正向最大匹配算法. 分词词库用的是网上一个叫 segmenter 的分词程序使用的词库. 地址:www.mandarintools.com/segmenter.html 这个segmenter分词程序是把文件按行读取出来,然后把一行假设为一个词 ...
Lucene相关度排序的调整
如欲转载,请注明作者:caocao,来源http://caocao.iteye.com/。 Lucene的搜索结果默认按相关度排序,这个相关度排序是基于内部的Score和DocID,Score又基于关键词的内部评分和做索引时的boost。默认Score高的排前面,如果Score一样,再按索引顺序,先索引的排前面。那么有人问了,如果我要先索引的排后面怎么办呢?隐士研究了源码后发现这是相当简单的事情。以 ...
Lucene中文分词之网络隐士八卦版
俺自己搞了个Lucene中文分词,看到版上qieqie师傅发表的他自己搞的Lucene中文分词,隐士很感兴趣,想进来说两句,注册一把,晕,三天后才可以说话,刚刚可以说话。俺来介绍一下俺的中文分词实现。参考站点:http://so.mdbchina.com 俺的分词做了这么几件事:装载各类词库 —— 中文繁体转简体 —— 初步分词 —— 在初步分词基础上进行运算量可控的二次分词(运算量o(n),n句子 ...
Lucene中文分词“庖丁解牛”
Lucene中文分词 “庖丁解牛” 附件 为本人设计编写的组件,中文分词“庖丁解牛”,具有相当好的使用价值。。。 高效率:我的赛扬PC 1 秒解析 >>> 20000汉字的词语 (实际测试结果数据,可达1秒10万+汉字。) 高可维护性:使用“庖丁”隐喻,形象明晰 高灵活性,可扩展:OOD 对比:《终于突破中文分词的效率问题》http://www.lucene.org.cn/ ...
Lucene-2.0学习文档(4)
接http://www.iteye.com/topic/39876 下面是搜索的例子: [code] public void SearchSort1() throws IOException, ParseException { IndexSearcher indexSearcher = new IndexSearcher("C:\\indexStore"); QueryParse ...
Lucene-2.0学习文档(3)
接http://www.iteye.com/post/190335 到现在我们已经可以用lucene建立索引了 下面介绍一下几个功能来完善一下: 1.索引格式 其实索引目录有两种格式,一种是除配置文件外,每一个Document独立成为一个文件(这种搜索起来会影响速度)。另一种是全部的Document成一个文件,这样属于复合模式就快了。 2.索引文件可放的位置: 索引可以存放在两个地方1.硬盘,2.内 ...
Lucene-2.0学习文档(2)
接http://www.iteye.com/post/190334 IndexWriter(File path, Analyzer a, boolean create) IndexWriter(String path, Analyzer a, boolean create) 可见构造它需要一个索引文件目录,一个分析器(一般用标准的这个),最后一个参数是标识是否清空索引目录 它有一些设置参数的功能如: ...
Lucene-2.0学习文档(1)
[原创]Lucene-2.0学习文档 作者:Javafish(likunkun) Email:javafish@sunxin.org Lucene是apache组织的一个用java实现全文搜索引擎的开源项目。 其功能非常的强大,api也很简单。总得来说用Lucene来进行建立 和搜索和操作数据库是差不多的(有点像),Document可以看作是 数据库的一行记录,Field可以看作是数据库的 ...
搜索篇:lucene简单实例<二>
写文章的时候,感觉比较难写的就是标题,有时候不知道起什么名字好,反正这里写的都是关于lucene的一些简单的实例,就随便起啦. Lucene 其实很简单的,它最主要就是做两件事:建立索引和进行搜索 来看一些在lucene中使用的术语,这里并不打算作详细的介绍,只是点一下而已----因为这一个世界有一种好东西,叫搜索。 IndexWriter:lucene中最重要的的类之一,它主要是用来将文档加入 ...
群组知识库热门文章
- 14380 使用solr搭建你的全文检索
- 10883 30分钟搭建一个百万全文搜索
- 8716 Lucene的评分(score)机制的简单解释
- 8531 lucene 入门(转)
- 8283 Lucene进阶:and 和or的条件查询