Lucene實戰開發手記(七)--- 關鍵詞提示
有點類似google搜索關鍵詞提示的功能。用Ajax的方式,提示以所輸入文字開頭的前10個lucene已創建的關鍵詞。
Ajax和頁面代碼省略掉,隻貼與lucene相關的代碼。
/**
* 關鍵詞提醒
* @param keyword
* @return
*/
public List remindKeyword(String keywo ...
by cleaneyes 2008-05-15 浏览 (26) 回复 (0)
Lucene實戰開發手記(六)--- 搜索、刪除索引代碼
無特別之處,了解的朋友不用看。
/**
* 限制分類的搜索
* @param keyword
* @param categoryKeyword
* @return
* @throws LuceneException
*/
public List searchIndex(String keyword, String categoryKeyword) ...
by cleaneyes 2008-05-15 浏览 (21) 回复 (0)
Lucene實戰開發手記(五)--- 為html/txt格式的文檔創建索引
txt與html解析存在亂碼的問題,這個問題困擾了我好幾天,最後找到一些資料,通過多次嘗試,基本解決了。
public class TxtDocHander extends DocHander {
public Document getDocument(byte[] inputByte) throws IOException {
// 進行文檔的編碼格式識別
...
by cleaneyes 2008-05-15 浏览 (21) 回复 (0)
Lucene實戰開發手記(四)--- 為PDF/excel/doc格式的文檔創建索引
上篇有提到這段代碼:
DocHander docHander = DocHanderFactory.buildDocHander(fileName);
attachDocument = docHander.getDocument(attach);
下面我們看一看實現細節。
抽象類DocHander的代 ...
by cleaneyes 2008-05-15 浏览 (23) 回复 (0)
Lucene實戰開發手記(三)--- 創建索引細節方法
/**
* 文檔主體建立索引
* 注意文檔與附件分成不同的Document,但搜索到附件內容時,需鏈接到其所在文檔
* @param article
* @return
* @throws InterruptedException
* @throws Exception
*/
private Document createArticleIn ...
by cleaneyes 2008-05-15 浏览 (26) 回复 (0)
Lucene實戰開發手記(二)--- 創建索引主方法
對索引操作的類為KbIndexProcesser
文檔主體類:Article
public class Article {
private String id;
private String topic;
private String content;
private String categoryId;
private String category;
...
by cleaneyes 2008-05-15 浏览 (27) 回复 (0)
Lucene實戰開發手記(一)--- 前言
《Lucene實戰開發手記》系列文章的適用對象為Lucene初學者。
本人所在項目組正在開發一個Call Center的系統。需要開發一個知識庫來為客服提供知識搜索的支持。採用Lucene做為搜索引擎。
知識庫的需求如下:
1、知識庫以文檔的 ...
by cleaneyes 2008-05-15 浏览 (56) 回复 (0)
实现Microsoft Project 文件格式的解析和内容抽取
文本内容提取: 使用net.sf.mpxj 的工具提取文本内容;
package com.koders.se.parser;
import com.koders.se.search.WikiDOC;
import net.sf.mpxj.ProjectFile;
import net.sf.mpxj.Resource;
import net.sf. ...
by betafox 2008-05-13 浏览 (31) 回复 (0)
小项目怎么做需求分析?
在做项目时,经常会碰到这样的事情.
客户向我们反映在和你们的工程师谈论需求时,他们总是满口答应没问题。可是,当他们做好以后,拿过来一看,根本就不是这么回事。而开发人员也在诉苦:用户什么都不懂,而且他们的需求老是变动,时间又这么紧,你让我们怎么办?
我觉得如果开发人员在做需求分析时,如果注意以下几点,也许可以避免被动的局面.
1、掌握相关的行业知识
在和客户沟通之前,最好了解一下相关的行业知识 ...
by mfcai 2008-05-12 浏览 (54) 回复 (2)
求教一个compass 中存储索引的问题
我是一个compass的初学者,做了一个compass的存储索引的例子,但是运行时却总是报下面的错,不知是什么原因:
2008-05-09 10:14:05,140 ERROR [org.compass.core.lucene.engine.transaction.ReadCommittedTransaction] - <Failed to read index reader propert ...
by 星星@ 2008-05-09 浏览 (61) 回复 (0)
Lucene2.3.2发布了
最新的Lucene2.3.2发布了,主要修改了一些创建和修改索引时候的Bug。
======================= Release 2.3.2 2008-05-05 =======================
Bug fixes
1. LUCENE-1191: On hitting OutOfMemoryError in any index-modifying
me ...
by grantbb 2008-05-08 浏览 (138) 回复 (0)
用Swing做的文件选择器
把我曾经遇到的一些问题跟大家分享下。好多问题教材上找不到答案,当时花费了好多时间,有些是网上查了好久查到的,有些是自己试了好久才明白的。
1)不管屏幕大小,始终把界面显示到屏幕固定比例的位置
2)文件选择器的使用,Java API上讲的太少了,就一个如何使文件选择器显示出来都困扰我很久,不知道大家刚接触时是否有同感。
3)事件处理怎么判断是哪个控件触发了事件。
4)选项卡的使用
5)滚动 ...
by zwm512327 2008-04-30 浏览 (211) 回复 (0)
尝试使用fuzzyquery分析中文字符的相似度
需要对一些数据进行去掉重复处理,规则类似于,两条记录的名称和地址相似度很大,则认为是同样的,应该去掉当中的某一个。昨天晚上翻了lucene得书籍,想找找看有什么好的方法没有,最后决定尝试一下fuzzyquery,大早上的就写了一个,结果很让我莫名其妙!
代码如下:
public class FuzzyQueryTest {
public static void m ...
by lang 2008-04-29 浏览 (61) 回复 (1)
sqlserver锁机制研究
对锁机制的研究要具备两个条件:
1.数据量大
2.多个用户同时并发
如果缺少这两个条件,数据库不容易产生死锁问题。研究起来可能会事倍功半。如果这两个条件都有,但你还是按数据库缺省设置来处理数据,则会带来很多的问题,比如:
1)丢失更新
A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果
2)脏读
A用户修改了数据时,B用户也在读该数据,但A用户因为某些原因取消了对数据 ...
by mfcai 2008-04-24 浏览 (77) 回复 (1)
【转】Lucene使用与优化
我认为这篇文章作为入门,对Lucene的总结比较好:
1 lucene简介
1.1 什么是lucene
Lucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。
1.2 lucene能做什么
要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底, ...
by grantbb 2008-04-17 浏览 (621) 回复 (0)
lucene的前端集群思路
你的搜索可以集群吗(这里单指前端应用集群)?这是一个突然发来的问题。。。其实lucene说实话什么都好就是集群不方便。。。查看了些资料基本上做集群都是利用系统的集群文件系统等实现的,这个效率不会好。突然我觉得可以这样的结构来做集群:一台单机做索引,索引文件存在这台物理机上然后利用nfs将索引文件映射到多台前端子机,子机将nfs的内容用RAMDirectory读到内存索引中,然后子机各自使用web服 ...
by edwardpro 2008-04-17 浏览 (192) 回复 (3)
更新lucene到2.3 建立索引遇到的困扰
为了提高索引的速度,利用缓存的方式,达到一定量的时候flush。
lucene2.2版本代码这样写:(部分代码)
IndexWriter fsWriter = new IndexWriter(fsDir,analyzer, true);
addDocument(fsWriter, s); //添加一条信息到Document
if (fsWriter.ramSizeInBytes() > IPara ...
by tongjian 2008-04-16 浏览 (126) 回复 (2)
Lucene的评分(score)机制的简单解释
通过Searcher.explain(Query query, int doc)方法可以查看某个文档的得分的具体构成。
在Lucene中score简单说是由 tf * idf * boost * lengthNorm计算得出的。
tf:是查询的词在文档中出现的次数的平方根
idf:表示反转文档频率,观察了一下所有的文档都一样,所以那就没什么用处,不会起什么决定作用。
boost:激励因子,可以 ...
by grantbb 2008-04-11 浏览 (445) 回复 (4)
使用Lucene2.3构建搜索引擎
Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。Lucene的作者:Lucene的贡献者Doug Cutting是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎(Apple的Copland操作系统的成就之一)的主要开发者,后在 Excite担任高级系统架构设计师,目前从事于一些INTERNET ...
by 晨星★~雨泪 2008-04-03 浏览 (362) 回复 (0)
步入j2ee架构设计
1.RUP简介
谈到架构设计,就不能说rup,架构是在rup中最早提出来的。
RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
RUP把一个项目开发概括成4个阶段,9个核心工作流程,6大方法。
RUP定义了初始、细化、实现和部署4个阶段
RUP是最佳软件开发经验的总结,它包括了软件开发中的六大方法 ...
by mfcai 2008-04-02 浏览 (165) 回复 (2)
基于Spindle的增强HTTP Spider
构建于lucene之上的可用的Java开源Spider少之又少,spindle长期没有更新且功能不够完善,故而自己参考其源代码重新编写了一个可扩展的WebCrawler,本着开源共享,共同进步的想法发布于此,期冀得到大家的批评指正,有任何意见及建议均可Email联系我(kaninebruno@hotmail.com)
以下代码基于lucene-2.3.1,htmlparser-1.6,je ...
by brunoplum 2008-03-30 浏览 (196) 回复 (7)
实现MHT文件格式的解析和内容抽取
由于我们的业务系统中有大量的MHT格式的资料,需要对其建立索引,搜索很久了一直没有找到相关解析的类库,只好自己动手丰衣足食了。已实现内容的提取以及和lucene的整合,稍后会完善编码检测及其他内容的提取,做一个完整的parser出来。 文本内容提取: 首先提取html部分的内容,解码之后使用nekoHtml提取文本内容;public class Mh ...
by betafox 2008-03-29 浏览 (158) 回复 (1)
NekoHTML 处理转义字符的问题
NekoHTML在处理html文档时,如果碰到&开始的转义字符(如 空格),会出现乱码问题! 现象: 此问题在网络上多次出现,但没有解决办法,经过跟踪nekoHtml的执行,发现其处理&转义字符时需要读取org\cyberneko\html\res\HTMLlat1.properties属性文件,查找&转义字符的对应字符,但是由于某种原因,java.util.Pr ...
by betafox 2008-03-26 浏览 (112) 回复 (1)
Lucene搜索优化技巧 - 搜索篇
搜索
1、对于按创建时间的排序可以使用doc.id的方式
new SortField(null, SortField.DOC, reverse)排序方式尽量使用INT类型的字段
也就是按照写入索引的顺序排序
2、对于时间字符串的排序可以转换成整数进行排序
3、去掉不必要的parse
使用TermQuery替换
4、 ...
by grantbb 2008-03-21 浏览 (1091) 回复 (0)
Lucene搜索优化技巧 - 索引篇
索引
1、t.termText()替换为new String(t.termBuffer(),0,t.termLength())
2、StringReader 和TokenStream对象都需要close
3、索引时Document只用一个、Field只用几个
一个Document对象对应多个Field实例
Field有新的setValue方法 ...
by grantbb 2008-03-21 浏览 (1088) 回复 (0)
lucene in action笔记之二搜索基础
一、简单的搜索程序主要搜索的类:1) IndexSearcher 搜索操作入口,所有的搜索操作都是通过IndexSearcher实例使用一个重载的search方法来实现。 2)Query及其子类 具体的Query子类为每一种特定类型的查询进行了 ...
by hank 2008-03-12 浏览 (162) 回复 (0)

