1个回答
展开全部
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的使用
基本步骤:
一>创建索引
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的使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询