zoukankan      html  css  js  c++  java
  • Lucene 2.4.0的变化

    转:http://blog.csdn.net/xuezhongsong/article/details/4388241

    Lucene 2.4.0 是2008年10月8日发布的版本,许多之前版本中的方法和类被声明为过期(@deprecated),且某些方法和类被声明在3.0引擎中将被删除。以下是常用的几个方法和类,在网上搜索到的替换为新版本的方法。

    1 IndexWriter 的构造器
    IndexWriter writer = new IndexWriter(indexPath, getAnalyzer(), true);

    这个方法需要替换为

    IndexWriter writer = new IndexWriter(indexPath, getAnalyzer(), true, IndexWriter.MaxFieldLength.UNLIMITED);

    2 Field.Index.UN_TOKENIZED

    这个被替换为 Field.Index.NOT_ANALYZED
    没啥特殊的,改了一个名字而已

    Field.Index.TOKENIZED 替换为 Field.Index.ANALYZED

    3 IndexWriter.flush();
    替换为
    IndexWriter.commit();

    4 org.apache.lucene.search.Hits;
    这个类将在3.0中被删除
    新的搜索代码如下

    IndexSearcher isearcher = new IndexSearcher(indexPath);
    BooleanClause.Occur[] clauses = {  BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD };
    TopDocCollector collector = new TopDocCollector(10); // 启用这个
    Query query = MultiFieldQueryParser.parse(queryString, new String[] { "subject", "content" }, clauses, getAnalyzer());
      isearcher.search(query, collector); // 作为参数
      ScoreDoc[] hits = collector.topDocs().scoreDocs; // 拿到结果
        int docId;
        for (int i = 0; i < hits.length; i++) { // 循环
           docId = hits[i].doc; // 一个内部编号
           Document doc = isearcher.doc(docId); // 通过编号,拿到文档
      }
  • 相关阅读:
    swift计算 switch case
    BUUCTF--reverse1
    BUUCTF--easyer
    Windows程序设计(七)--鼠标
    攻防世界--maze
    Windows 程序设计--(六)键盘
    攻防世界--csaw2013reversing2
    攻防世界--getit
    攻防世界--python-trade
    Windows程序设计--(五)绘图基础
  • 原文地址:https://www.cnblogs.com/smthts/p/2726988.html
Copyright © 2011-2022 走看看