Lucene建立索引和索引的基本檢索
Author: 百知教育 gaozhy
注:演示程式碼所使用jar包版本為 lucene-xxx-5.2.0.jar
lucene索引操作
建立索引程式碼
try { // 1. 指定索引檔案儲存位置 Directory directory = FSDirectory.open(Paths.get("F:/lucene/index/example01")); // 2. 建立分詞器 標準分詞器 StandardAnalyzer analyzer = new StandardAnalyzer(); // 3. 建立索引寫入器 IndexWriterConfig config = new
// 索引日期 document.add(new Field("date", DateTools.dateToString(new Date(), Resolution.SECOND),StringField.TYPE_STORED)); // 索引數字 document.add(new IntField("age", 18, Field.Store.YES));
- 建立的索引檔案
lucene索引的檢索
索引檢索程式碼
try{ // 1. 獲取索引檔案 Directory directory = FSDirectory.open(Paths.get("F:/lucene/index/example01")); // 2. 讀取索引檔案 IndexReader indexReader = DirectoryReader.open(directory); // 3. 建立索引檢索器 IndexSearcher searcher = new IndexSearcher(indexReader); // 4. 建立查詢條件 QueryParser parser = new QueryParser("content",new StandardAnalyzer()); //第一個引數: 需要檢索的域名 第二個引數: 分詞器 Query query = parser.parse("百知"); //檢索字串 System.out.println(query.toString()); // 5. 呼叫檢索器檢索 TopDocs topDocs = searcher.search(query, 10); //第二個引數:返回結果 10條資訊 System.out.println("命中數:"+topDocs.totalHits); ScoreDoc[] docs = topDocs.scoreDocs; // 6. 處理查詢結果 for (ScoreDoc scoreDoc : docs) { System.out.print(searcher.doc(scoreDoc.doc).get("id") + " | "); System.out.print(searcher.doc(scoreDoc.doc).get("name") + " | "); System.out.print(searcher.doc(scoreDoc.doc).get("content")); System.out.println(); } // 7. 釋放資源 indexReader.close(); directory.close(); }catch(Exception e){ e.printStackTrace(); }
// 日期檢索 String date = searcher.doc(sd.doc).get("date"); if(date != null){ System.out.print(DateTools.stringToDate(date) + " | "); } // 數字檢索 System.out.println(searcher.doc(sd.doc).get("age"));
檢索結果
使用“百知”檢索結果
使用“胡鑫哲”檢索結果
相關推薦
Lucene建立索引和索引的基本檢索
Author: 百知教育 gaozhy 注:演示程式碼所使用jar包版本為 lucene-xxx-5.2.0.jar lucene索引操作 建立索引程式碼 try {
mysql通過建立分割槽和索引來提高查詢效率
1:建立分割槽 DROP TABLE IF EXISTS `test`; CREATE TABLE test ( id int(10) unsigned NOT NULL AUTO_INCREMENT, time datetime NOT NULL COMMENT '業務時間'
Lucene--Field域和索引維護
Lucene–Field域和索引維護 一、Field域 1.Field屬性 Field是文件中的域,包括Field名和Field值兩部分,一個文件可以包括多個Field,Document只是Field的一個承載體,Field值即為要索引的內容,也是
Phoenix建立檢視和索引--基於HBase
一、HBase shell命令 1. 進入hbase shell # Step1:進入hbase的安裝路徑的bin目錄 cd /home/gulfmoon/apps/hbase-1.2.4/bin # Step2:啟動hbase shell hbase shell 啟
mysql聯合索引和索引優化的理解
首先介紹聯合索引的最左原則,即假設某張表test,有四個欄位,id,a,b,c;id是主鍵,a和b是聯合索引,建表和值如下: CREATE TABLE `test` ( `id` int(11) NOT NULL, `a` varchar(32) NOT NULL DEFAULT '
mysql索引學習(1)常見索引和索引失效
介紹 1.什麼是索引? 一般的應用系統,讀寫比例在10:1左右,而且插入操作和一般的更新操作很少出現效能問題,在生產環境中,
Lucene 6.2.1入門教程(一) 建立索引和基本搜尋索引
簡單說兩句,Lucene現在高版本的教程很少,網上基本是4.0以下的,目前最新版是6.2.1,所以我試著來寫寫這個版本的教程。 至於那些概念什麼的,我就不多說了,大家可以參考以前的舊教程來了解Lucene的體系結構和基本原理。大致說一下Lucene就是通過建立索引這
使用Lucene索引和檢索POI資料
1、簡介 關於空間資料搜尋,以前寫過《使用Solr進行空間搜尋》這篇文章,是基於Solr的GIS資料的索引和檢索。 Solr和ElasticSearch這兩者都是基於Lucene實現的,兩者都可以進行空間搜尋(Spatial Search),在有些場景,我們需要把Lucene嵌入到已有的系統提供資料索引和
Mongodb基本操作入門,增刪改查和索引
less multi zhang 一個 attribute var sin 第一個 base 主要進程 mongod.exe為啟動數據庫實例的進程。 mongo是一個與mongod進程進行交互的JavaScript shell進程,它提供了一些交互的接口函數用戶
NumPy數組基本的索引和切片
復制 標量 內存問題 數據 利用 emp 內存 性能 設計 對一維數組來說,NumPy數組的索引切片與Python列表的功能差不多: >>> arr array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> a
Lucene實現索引和查詢
ont termquery 文件夾 移植 指定 安裝過程 buffer upd 遇到 0引言 隨著萬維網的發展和大數據時代的到來,每天都有大量的數字化信息在生產、存儲、傳遞和轉化,如何從大量的信息中以一定的方式找到滿足自己需求的信息,使之有序化並加以利用成為一大難題。全
ssm學習——Lucene建立索引
一:理論知識 1.非結構化資料查詢方法 1)順序掃描法 太慢,效率不高。 2)全文檢索法 對需要查詢的文件建立索引,再對其進行搜尋。其實說白了就是為了使其結構化。 2.索引建立和搜尋流程圖 1)流程圖 2)索引庫
mysql索引、主鍵、唯一索引、聯合索引的區別(索引的建立原則和注意事項)
索引對資料庫效能的影響? 本質:縮小查詢範圍。大大減少需要掃描的資料量。大大提高查詢的速度,降低寫的速度,佔用磁碟。將隨機I/O變成順序I/O 特大的表怎麼解決查詢問題? 分割槽。 主鍵索引和唯一索引的區別? 一個表只能有一個主鍵索引,但可以有多個唯一索引, 主鍵索引是唯一索
mysql建立索引和檢視
索引建立: 1.選表,設計表,選擇欄位 2.建檢視: 新建檢視,寫檢視程式碼 select `parkingmessage`.`id` AS `id`,`parkingmessage`.`version` AS `version`,`parkingmessage`.`sna
mysql資料庫建立索引和使用
1. 2 需要注意: ,後續新增修改索引。。需要注意索引需要的不同資料庫引擎 alter table user add fulltext(欄
Lucene建立索引的概念
查詢(Query):對於全文搜尋,最終都是使用詞項指向一批document文件物件集合,利用對 詞
Lucene建立索引流程
原始文件:網際網路上的網頁(爬蟲或蜘蛛)、資料庫中的資料、磁碟上的檔案 建立文件物件(非結構化資料) 文件物件中的屬性不叫屬性現在成為域。 每個 Document 可以有多個 Field ,不同的 Document 可以有不同的 Field,同一個 Document 可以有相
Atitit 現代資訊檢索 Atitit 重要章節 息檢索建模 檢索評價 第8章 文字分類 Line 210: 第9章 索引和搜尋 第11章 Web檢索 第13章 結構化文字檢索 目錄 L
Atitit 現代資訊檢索 Atitit 重要章節 息檢索建模 檢索評價 第8章 文字分類 Line 210: 第9章 索引和搜尋 第11章 Web檢索 第13章 結構化文字檢索 目錄 Line 1
MySql 的效能分析和索引建立與優化
1、索引簡單語法 建立 CREATE [UNIQUE ] INDEX indexName ON mytable(columnname(length)); ALTER mytable ADD [UNIQUE ] INDEX [indexName] ON
為什麽要將表和索引建立在不同的表空間?
acl 應用 bsp 影響 目的 系統性能 為什麽 之一 rac 上一個隨筆引出的新問題,找到了一個參考: “Oracle強烈建議,任何一個應用程序的庫表至少需要創建兩個表空間,其中之一用於存儲表數據,而另一個用於存儲表索引數據。因為如果將表數據和索引數據放在一起,表數據的