• Lucene初步搜索


    Lucene在创立索引后,要进行搜索查询

    搜索大概需要5部,

    1,读取索引。

    2,查询索引。

    3,匹配数据。

    4,封装匹配结果。

    5,获取需要的值。

    语言表达能力不好,大概就是分着几部吧。

    /**
         * 搜索
         */
        public void searcher(){
            //1,创建Directory
            Directory directory = null;
            IndexReader reader = null;
            try {
                directory = FSDirectory.open(Paths.get("D://lucene//index"));
                //2,创建IndexReader
                 reader = DirectoryReader.open(directory);
                //3,根据IndexReader创建IndexSearcher
                 IndexSearcher searcher = new IndexSearcher(reader);
                //4,创建搜索的query
                 QueryParser parser = new QueryParser("content",new StandardAnalyzer());
                 Query query = parser.parse("SELECT");
                //5,根据search搜索并返回TopDocs
                 TopDocs tds = searcher.search(query, 10);
                //6,根据TopDocs获取ScoreDoc对象
                 ScoreDoc[] sds = tds.scoreDocs;
                 for(ScoreDoc sd:sds){
                    //7,根据search和ScordDoc对象获取具体的Document对象
                     Document d = searcher.doc(sd.doc);
                    //8,根据Document对象获取需要的值
                     System.out.println(d.get("filename")+"["+d.get("path")+"]");
                 }
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                try {
                    reader.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            
        }

    搜索的对象“SELECT”,执行,查询结果如下

  • 相关阅读:
    Educational Codeforces Round 1 (C) (atan2 + long double | 大数)
    AC自动机模板
    JSP 过滤器
    JSP 动作元素
    Hibernate 拦截器
    Hibernate 批处理
    Hibernate 缓存
    单例模式数据库连接
    JavaScript限制前端页面用户表单输入
    注册页面手机验证码无跳转接收[html+js+ajax+php]
  • 原文地址:https://www.cnblogs.com/invban/p/6145998.html
Copyright © 2020-2023  润新知