Lucene的核心包

检索领域的明星lucene,被公认为高效的检索算法,其被广泛应用在其他领域中,包括微软的邮箱检索等。其的核心包有7个,名称和功能介绍如下:
序号  包名 功能简介
 1 index 构建索引
 2 analyze 文本分析接口
 3 document 文档逻辑接口
 4 Search 文档检索接口
 5 Query 构建查询接口
 6 Store 存储处理接口            

为了使用Lucene,一个应用程序需要包含以下步骤:
1)创建增加Field的文档;
2)创建IndexWriter增加文档信息;
3)通过QueryParser创建查询实体;
4)通过IndexSearcher查询文档;.
使用中的核心关键类是IndexWriter和IndexReader,这两个类分别负责索引的创建和文档的检索.其实例如下,Lucene版本号是6.1.2:
public static void main(String[] args) {
try {
Analyzer analyzer=new StandardAnalyzer();
//Directory directory=new RAMDirectory();
Directory directory=FSDirectory.open(Paths.get("D:\\lucene"));
IndexWriterConfig config=new IndexWriterConfig(analyzer);
IndexWriter writer=new IndexWriter(directory,config);
Document document=new Document();
String text = "This is the text to be indexed.";
document.add(new Field("fieldname", text, TextField.TYPE_STORED));
writer.addDocument(document);
writer.close();

DirectoryReader reader=DirectoryReader.open(directory);
IndexSearcher searcher=new IndexSearcher(reader);
QueryParser parser=new QueryParser("fieldname", analyzer);
Query query=parser.parse("text");
ScoreDoc[] hits = searcher.search(query, 100).scoreDocs;
   
    // Iterate through the results:
    for (int i = 0; i < hits.length; i++) {
      Document hitDoc = searcher.doc(hits[i].doc);
      System.out.print(hitDoc.toString());
    }
    reader.close();
    directory.close();
 
} catch (Exception e) {
// TODO: handle exception
System.out.print(e.getStackTrace());
}



}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值