lucene的一些问题 10

lucene编写搜索引擎,请问一般是改些什么东西,谢谢了... lucene编写搜索引擎,请问一般是改些什么东西,谢谢了 展开
 我来答
百度网友5fe8aaf74
2009-07-23
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
lucene只是一个开源的全文搜索框架.并不适合做海量数据的搜索
基本步骤:
一>创建索引
1.设置索引文件夹,例如
String sDir = "D:/index";
2.设置要搜索的内容,可以是外部的文件,也可以是一个简单的字符串
String sTitle = "This is a lucene test file";
3.需要建立一个分词器
一般使用lucene的StandardAnalyzer,分词器是对字符串进行切词的.
StandardAnalyzer sanalyzer = new StandardAnalyzer();
3.开始写索引
IndexWriter indexWriter = new IndexWriter(sDir,sanalyzer,true);
创建一个Field,设置你要检索的字段例如:
Field field_link = Field.Keyword("title",sTitle);//建立一个title字段
ok,这些Field最终要写到一个Document中,才能保存到索引库中.
下面建一个Document
Document doc = new Document();
在Document中添加字段
doc.add(field_link);
下面真正写入索引
indexWriter.addDocument(doc);
别忘了关闭indexWriter,这样才能下如到索引中.
indexWriter.close();
以上是一个标准的lucene建立索引的简单实例.

ok,建完索引后就要检索了.
1.设置索引文件夹
String sDir = "D:/index";
2.设置要检索的字段
String sField = "title";
3.设置一个检索的字符串
String sKeyword = "hello";
4.声明一个搜索对象
InexSearcher searcher = new IndexSearcher(sDir);
5.同样需要一个分词器
StandardAnalyzer sAnalyzer = new StandardAnalyzer();
6.建立搜索字符串
Query query = QueryParser.parse(sKeyword,sField,sAnalyzer);

7.ok,开始搜索
Hits hits = searcher.search(query);//Hits包含了搜索结果的Document
8.显示结果
for(int i = 0 ;i<hits.length();i++)
{
Document doc = hits.doc(i);
System.out.println(doc.get("title"));
}
9.关闭搜索器
searcher.close();
可以到javaeye上搜搜有关lucene的使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式