zoukankan      html  css  js  c++  java
  • lucene&solr入门实例

    1.所需jar包

     2.实现步骤:

     3.field域的属性介绍

     

     4.代码

        // 创建索引
        @Test
        public void testIndex() throws Exception {
            // 第一步:创建一个java工程,并导入jar包。
            // 第二步:创建一个indexwriter对象。
            Directory directory = FSDirectory.open(new File("D:\temp\index"));
            // Directory directory = new RAMDirectory();//保存索引到内存中 (内存索引库)
    //        Analyzer analyzer = new StandardAnalyzer();// 官方推荐
            Analyzer analyzer = new IKAnalyzer();// 官方推荐
            IndexWriterConfig config = new IndexWriterConfig(Version.LATEST, analyzer);
            IndexWriter indexWriter = new IndexWriter(directory, config);
            // 1)指定索引库的存放位置Directory对象
            // 2)指定一个分析器,对文档内容进行分析。
            // 第三步:创建field对象,将field添加到document对象中。
            File f = new File("D:\Lucene&solr\searchsource");
            File[] listFiles = f.listFiles();
            for (File file : listFiles) {
                // 第三步:创建document对象。
                Document document = new Document();
                // 文件名称
                String file_name = file.getName();
                Field fileNameField = new TextField("fileName", file_name, Store.YES);
                // 文件大小
                long file_size = FileUtils.sizeOf(file);
                Field fileSizeField = new LongField("fileSize", file_size, Store.YES);
                // 文件路径
                String file_path = file.getPath();
                Field filePathField = new StoredField("filePath", file_path);
                // 文件内容
                String file_content = FileUtils.readFileToString(file);
                Field fileContentField = new TextField("fileContent", file_content, Store.NO);
    
                document.add(fileNameField);
                document.add(fileSizeField);
                document.add(filePathField);
                document.add(fileContentField);
                // 第四步:使用indexwriter对象将document对象写入索引库,此过程进行索引创建。并将索引和document对象写入索引库。
                indexWriter.addDocument(document);
    
            }
            // 第五步:关闭IndexWriter对象。
            indexWriter.close();
        }

    5.在索引文件展示

  • 相关阅读:
    eureka的fetch-registry属性解释
    数据结构设计
    typescript let和const区别
    JDK8新特性
    Synchronized的内存可见性
    java实现打印功能
    idea单元测试jpa注入失败问题----来自Spring Cloud微服务实战-idea版的 廖师兄的product
    eclipse快速生成接口
    读取 Excel 之 Epplus
    [转][Dapper]参数化查询慢
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/13525566.html
Copyright © 2011-2022 走看看