Lucene
new_jeffer
这个作者很懒,什么都没留下…
展开
-
Lucene學習筆記(一)
全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。 全文检索的方法主要分为按字检索和按词检索两种。按词检索指对文章中的词,即语义单位建立索引,检索时按词检索,并且可以处理同义项等。英文等西方文...2008-06-10 16:20:18 · 77 阅读 · 0 评论 -
Lucene實戰開發手記(七)--- 關鍵詞提示
/** * 關鍵詞提醒 * @param keyword * @return */ public List remindKeyword(String keyword){ List keywordList = new ArrayList(); IndexReader indexReader; try { File indexDir = new File(IN...2008-05-15 15:41:37 · 67 阅读 · 0 评论 -
Lucene實戰開發手記(六)--- 搜索、刪除索引代碼
無特別之處,了解的朋友不用看。 /** * 限制分類的搜索 * @param keyword * @param categoryKeyword * @return * @throws LuceneException */ public List searchIndex(String keyword, String categoryKeyword) throws L...2008-05-15 15:30:55 · 53 阅读 · 0 评论 -
Lucene實戰開發手記(五)--- 為html/txt格式的文檔創建索引
txt與html解析存在亂碼的問題,這個問題困擾了我好幾天,最後找到一些資料,通過多次嘗試,基本解決了。 public class TxtDocHander extends DocHander { public Document getDocument(byte[] inputByte) throws IOException { // 進行文檔的編碼格式識別 CodepageDe...2008-05-15 11:57:40 · 78 阅读 · 0 评论 -
Lucene實戰開發手記(四)--- 為PDF/excel/doc格式的文檔創建索引
上篇有提到這段代碼:DocHander docHander = DocHanderFactory.buildDocHander(fileName); attachDocument = docHander.getDocument(attach); 下面我們看一看實現細節。 抽象類DocHander的代碼:public abstract...2008-05-15 11:39:34 · 85 阅读 · 0 评论 -
Lucene實戰開發手記(三)--- 創建索引細節方法
/** * 文檔主體建立索引 * 注意文檔與附件分成不同的Document,但搜索到附件內容時,需鏈接到其所在文檔 * @param article * @return * @throws InterruptedException * @throws Exception */ private Document createArticleIndex(Artic...2008-05-15 11:37:33 · 77 阅读 · 0 评论 -
Lucene實戰開發手記(二)--- 創建索引主方法
對索引操作的類為KbIndexProcesser 文檔主體類:Articlepublic class Article { private String id; private String topic; private String content; private String categoryId; private String category; .......} 附...2008-05-15 11:07:38 · 62 阅读 · 0 评论 -
Lucene實戰開發手記(一)--- 前言
《Lucene實戰開發手記》系列文章的適用對象為Lucene初學者。 本人所在項目組正在開發一個Call Center的系統。需要開發一個知識庫來為客服提供知識搜索的支持。採用Lucene做為搜索引擎。 知識庫的需求如下:1、知識庫以文檔的形式組織,每篇文檔含標題、分類(樹狀)、內容,可上傳多個附件。2、文檔內容支持html格式,標題、內容、附件均要建立索引,能被...2008-05-15 10:58:34 · 61 阅读 · 0 评论 -
Lucene入門草稿
索引3種方式:倒排、後綴數組和簽名文件. 一段讀寫文本文件的代碼:BufferWriter writer = new BufferWriter(new FileWriter(destFile)); BufferReader reader = new BufferReader(new FileReader(readFile)); String line = reader.readLine()...2008-04-15 14:42:41 · 71 阅读 · 0 评论 -
Lucene讀書筆記(四)
一些公用的基础类表 3.2 基础类包org.apache.lucene.util类说明Arrays一个关于数组的排序方法的静态类,提供了优化的基于快排序的排序方法sortBitVectorC/C++语言中位域的java实现品,但是加入了序列化能力Constants常量静态类,定义了一些常量PriorityQueue...2008-06-12 18:39:28 · 115 阅读 · 0 评论 -
Lucene讀書筆記(三)
Lucene索引文檔格式: 以上就是Lucene的索引文件的概念结构。Lucene索引index由若干段(segment)组成,每一段由若干的文档(document)组成,每一个文档由若干的域(field)组成,每一个域由若干的项(term)组成。项是最小的索引概念单位,它直接代表了一个字符串以及其在文件中的位置、出现次数等信息。域是一个关联的元组,由一个域名和一个域值组成,域名是一个字串...2008-06-12 18:03:38 · 86 阅读 · 0 评论 -
Lucene學習筆記(二)
Lucene的目的是为软件开发人员提供一个简单易用的工具包,Lucene的原作者是Doug Cutting。Lucene作为一个全文检索引擎,其具有如下突出的优点:(1)索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文...2008-06-10 16:29:52 · 72 阅读 · 0 评论 -
Lucene分析器的實現
public abstract class Analyzer { public abstract TokenStream tokenStream(String fieldName, Reader reader); * * @param fieldName Field name being indexed. * @return position increment gap...2008-05-22 16:01:13 · 75 阅读 · 0 评论