zoukankan      html  css  js  c++  java
  • Lucene和Solr学习总结(2)

    创建完索引接下来当然要查一查啦,

     

    步骤先理好

    1,当然要先知道索引存放的位置

    2,通过IndexSearcher查找

    3,创建IndexSearcher需要提供IndexReader

    4,创建IndexReader 需要提供DirectoryDirectory对象指定索引位置

    后面就是添加查询条件和执行查询了

     

    public class QueryIndex {

     

    //搜索索引

    @Test

    public void testName() throws Exception {

    //1,创建Directory对象,获取索引存放的位置

    Directory directory = FSDirectory.open(new File("D:\lucene\index"));

    //2,创建IndexReader对象,指定Directory对象

    IndexReader indexReader = DirectoryReader.open(directory);

    //3,创建一个IndexSearcher对象,指定IndexReader

    IndexSearcher indexSearcher = new IndexSearcher(indexReader);

    //4,创建一个TermQuery对象,指定查询的域和关键字

    Query query = new TermQuery(new Term("fielName", "lucene"));

    //5,执行查询

    TopDocs search = indexSearcher.search(query, 2);

     //topDocs.scoreDocs存储了document对象的id

    ScoreDoc[] scoreDocsId = search.scoreDocs;

    //6,遍历结果,获得得到的索引的id

    for (ScoreDoc scoreDoc : scoreDocsId) {

    int doc = scoreDoc.doc;  //scoreDoc.doc属性就是document对象的id

    Document document = indexSearcher.doc(doc); //根据document的id找到document对象

    //从document对象中把域取出来

     //文件名称

                System.out.println(document.get("fielName"));

                //文件内容

              //  System.out.println(document.get("file_content"));

                //文件大小

                System.out.println(document.get("fileSize"));

                //文件路径

                System.out.println(document.get("filePath"));

                System.out.println("=============");

    }

    //7,关流

      indexReader.close();

    }

    }

  • 相关阅读:
    Jsの练习-将 数组中值为0 的去掉,不为0的存入一个新的数组
    Jsの数组练习-求一组数中的最大值和最小值,以及所在位置
    ES6-解构赋值
    vue初体验-ES6 基础知识补充 let 和const
    2D过渡模块的其他属性
    CSS学习笔记-05 过渡模块的基本用法
    echarts笔记
    不可思议的纯 CSS 滚动进度条效果
    十大排序算法
    关于input上传文件
  • 原文地址:https://www.cnblogs.com/a-small-lyf/p/10008825.html
Copyright © 2011-2022 走看看