<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] # 下載 Lucene是開發全文檢索功能的工具包,從官方網站下載 `lucene.apache.org` * analysis: 分析器包 * core: 核心包 * queryparser: 查詢分析器 添加一個java工程 添加jar * lucene-analyzers-common-7.4.0.jar * lucene-core-7.4.0.jar * commons-io.jar # 創建索引庫 步驟: 1. 創建一個Director對象,指定索引庫保存的位置 2. 基于Directory對象創建建一個IndexWriter對象 3. 讀取磁盤上的文件,對應每個文件創建一個文檔對象 4. 向文檔對象中添加域 5. 把文檔對象寫入索引庫 6. 關閉indexWriter對象 ~~~ @Test public void createIndex() throws IOException { //1. 創建一個Director對象,指定索引庫保存的位置 //把索引保存到磁盤 Directory directory = FSDirectory.open(new File("/Users/jdxia/Desktop/study/studylucene/lucene-first/index").toPath()); //2. 基于Directory對象創建建一個IndexWriter對象 IndexWriter indexWriter = new IndexWriter(directory, new IndexWriterConfig()); //3. 讀取磁盤上的文件,對應每個文件創建一個文檔對象 File dir = new File("/Users/jdxia/Desktop/study/studylucene/lucene-first/search"); File[] files = dir.listFiles(); for (File f : files) { //取文件名 String fileName = f.getName(); //文件的路徑 String filePath = f.getPath(); String fileContent = FileUtils.readFileToString(f, "utf-8"); //文件的大小 long fileSize = FileUtils.sizeOf(f); //創建Field //參數1: 域的名稱, 參數2: 域的內容, 參數3: 是否存儲 TextField fieldName = new TextField("name", fileName, Field.Store.YES); TextField fieldPath = new TextField("path", filePath, Field.Store.YES); TextField fieldContent = new TextField("content", fileContent, Field.Store.YES); TextField fieldSize = new TextField("size", fileSize + "", Field.Store.YES); //創建文檔對象 Document document = new Document(); //向文檔對象中添加域 document.add(fieldName); document.add(fieldPath); document.add(fieldContent); document.add(fieldSize); //把文檔對象寫入索引庫 indexWriter.addDocument(document); } //關閉indexWriter對象 indexWriter.close(); } ~~~ # 查詢索引庫 步驟: 1. 創建一個Director對象,指定索引庫的位置 2. 創建一個IndexReader對象 3. 創建一個IndexSearcher對象,構造方法中的參數indexReader對象 4. 創建一個Query對象,TermQuery 5. 執行查詢,得到一個TopDocs對象 6. 取查詢結果的總記錄數 7. 取文檔列表 8. 打印文檔中的內容 9. 關閉IndexReader對象 ~~~ @Test public void searchIndex() throws IOException { //1. 創建一個Director對象,指定索引庫的位置 Directory directory = FSDirectory.open(new File("/Users/jdxia/Desktop/study/studylucene/lucene-first/index").toPath()); //2. 創建一個IndexReader對象 DirectoryReader indexReader = DirectoryReader.open(directory); //3. 創建一個IndexSearcher對象,構造方法中的參數indexReader對象 IndexSearcher indexSearcher = new IndexSearcher(indexReader); //4. 創建一個Query對象,TermQuery Query query = new TermQuery(new Term("content", "like")); //5. 執行查詢,得到一個TopDocs對象 //參數1: 查詢對象 參數2: 查詢結果返回的最大記錄數 TopDocs topDocs = indexSearcher.search(query, 10); //6. 取查詢結果的總記錄數 System.out.println("查詢總記錄數: " + topDocs.totalHits); //7. 取文檔列表 ScoreDoc[] scoreDocs = topDocs.scoreDocs; //8. 打印文檔中的內容 for (ScoreDoc doc : scoreDocs) { //取文檔id int docId = doc.doc; //根據id取文檔對象 Document document = indexSearcher.doc(docId); System.out.println(document.get("name")); System.out.println(document.get("path")); System.out.println(document.get("size")); System.out.println(document.get("content")); System.out.println("--------------------------------"); } //9. 關閉IndexReader對象 indexReader.close(); } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看