`
longgangbai
  • 浏览: 7253009 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

luence学习的指南文档

阅读更多

2.代码使用场合:在搜索引擎检索索引目录的中的信息

/**

  * 检索索引文件内容中是否包含查询的字词信息

  * @param indexDir  索引的目录

  * @param search  查询字词信息

  * @throws Exception

  */

  @SuppressWarnings("deprecation")

public static void search(File indexDir,String search) throws Exception

  {

      //创建索引存储的位置的

      Directory fsDir=FSDirectory.getDirectory(indexDir,true);

      //创建用于搜索IndexWriter类所创建的索引

      IndexSearcher is=new IndexSearcher(fsDir);

      //创建标准分析器对象的

      Analyzer analyzer= new StandardAnalyzer();

      //创建一个查询解析器的应用开发

      QueryParser queryparser=new QueryParser(search,analyzer);

      //创建一个查询对象的

      Query query=queryparser.parse(search);

      //创建一个查询单元的信息

      //Term term=new Term("contents",search);

      // Query query=new TermQuery(term);

     

      long start=new Date().getTime();

     // 存放有序索引结果的指针的简单容器,代表匹配已知查询的一系列文档的检索结果

      Hits hits=is.search(query);

      long end=new Date().getTime();

      System.out.println((end-start));

      for (int i = 0; i < hits.length(); i++) {

       //检索匹配的文档对象

       Document doc=hits.doc(i);

       System.out.println("content:"+doc.get("contents"));

       System.out.println(" "+doc.get("filename"));

    }

  }

}

3.          使用场合:查询一个词语的一系列同义词的,一种一般做法从数据库中查询给定词语的所有同义词

方法一:并将它添加到一个字符串中去,然后可以通过这个字符串创建一个Luence域对象。

方法二:它仅仅同时给一个相同的域赋予多个不同的值。Luence将自动将相同键的域的值合并成一个单词对它们进行检索。

/**

 * 可追加的域对象的应用

 * @param args

 * @throws IOException

 */

public  void thesaurus(IndexWriter writer) throws IOException {

    String baseword="quick";

    String[] synonyms={"quick","rapid","speedy"};

    Document doc=new Document();

    doc.add(Field.Text("word",baseword));

    for (String value : synonyms) {

       doc.add(Field.Keyword("word",value));

    }

    writer.addDocument(doc);

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics