Lucene新增刪除索引(增量索引)
1。資料庫中新增資料
增加新紀錄:
IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(), false);
false:在原先基礎上新增,不覆蓋之前,增量索引
true:重新建立
2。資料庫中更新資料
判斷是否有
刪除陳舊記錄:
public void updateIndex(){
String INDEX_DIR = "d:\\index_update";
Directory dir;
try {
dir = FSDirectory.getDirectory(INDEX_DIR);
IndexReader reader = IndexReader.open(dir);
Term term = new Term("ID","1"); //---精確查詢,刪除此紀錄
IndexSearcher is = new IndexSearcher(dir);
Hits hits = is.search(query);
System.out.println( "刪除前"+hits.length() + " 個結果! ");
//刪除-----使用deleteDocument只能對term進行刪除
reader.deleteDocuments(term);
reader.close();
dir = FSDirectory.getDirectory(INDEX_DIR);
IndexReader reader1 = IndexReader.open(dir);
Term term1 = new Term("ID","1");
Query query1 = new TermQuery(term);
IndexSearcher is1 = new IndexSearcher(dir);
Hits hits1 = is1.search(query1);
System.out.println("刪除後"+ hits1.length() + " 個結果! ");
// IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(), false);
// Document doc = new Document();
// doc.add(new Field("TicketType", "演唱會111", Field.Store.YES, Field.Index.TOKENIZED));
// writer.addDocument(doc);
// writer.optimize();
// System.out.println("更改索引:"+doc.getField("TicketType").stringValue());
// writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
相關推薦
Lucene新增刪除索引(增量索引)
1。資料庫中新增資料 增加新紀錄: IndexWriter writer = new IndexWriter(dir, new StandardAnalyzer(), false); false:在原先基礎上新增,不覆蓋之前,增量索引 true:重新建立 2。資
lucene 7.2版本(之前用的4.0 的。。發現好多都變了。。)—— 建立索引(記憶體中)
package com.shang.lucene.index.create; import com.shang.lucene.index.abstracts.IndexAbstract; import com.shang.lucene.jdbc.DataBase; imp
ElasticSearch 用ik分詞器建立索引(java API)
tle creat analyzer undefined 全文搜索 () map 多用戶 tcl ElasticSearch是一個基於Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Ja
索引(快速查詢)
數據量 EDA led 數據 哪些 如果 參考 類型 rom 《沁園春·雪》 北國風光,千裏冰封,萬裏雪飄。 望長城內外,惟餘莽莽;大河上下,頓失滔滔。 山舞銀蛇,原馳蠟象,欲與天公試比高。 須晴日,看紅妝素裹,分外妖嬈。 江山如此多嬌,引無數英雄竟折腰。 惜秦皇漢武,略輸
MySQL8.0新特性——不可見索引(Invisible Indexes)
mysq test 沒有 官方 ash ann bar htm 一個 MySQL8.0新特性——不可見索引(Invisible Indexes)MySQL8.0開始支持看不見的索引。一個看不見的索引根本不被優化器使用,但是通常是保持正常的。默認情況下索引是可見的。不可見的索
(譯)MySQL 8.0實驗室---MySQL中的倒敘索引(Descending Indexes)
mysql 重新 .cn 創建表 https 正序 tro 一個 刪除 譯者註:MySQL 8.0之前,不管是否指定索引建的排序方式,都會忽略創建索引時候指定的排序方式(語法上不會報錯),最終都會創建為ASC方式的索引,在執行查詢的時候,只存在forwarded(正向
Impossible Mission - 單機百億檔案的極致索引(設計篇)
一. 背景 當下資訊社會每天都產生大量需要儲存的資料,這些資料在刺激海量儲存技術發展的同時也帶來了新的挑戰。比如,海量資料為儲存系統增加了大量的小檔案,這些小檔案的元資料如何管理?如何控制定位某個檔案的時間和空間開銷? 隨著對資料實時性要求的提高, 檔案也越來越趨於碎片化,像短視訊、直播
機房---新增刪除使用者(一次判斷控制元件空值)
新增部分的思路前面的流程圖基本適用就不附圖啦~主要聊一下怎麼一次判斷當前窗體是否存在空值,註冊篇有寫一次清空控制元件的,一次判斷當前窗體是否存在空值就是在其基礎上進行的改動 程式碼 For Each ctrl In Me.Controls If Type
Matlab中的矩陣的單一索引(線性索引)
可參考官方文件: https://ww2.mathworks.cn/help/matlab/math/matrix-indexing.html 重點說以下線性索引: 可以使用單個下標A(k) 表示matlab矩陣中的元素,MATLAB不會以矩陣和陣列在MATLAB命令列
主鍵(primary key)和唯一索引(unique index)區別
主鍵一定是唯一性索引,唯一性索引並不一定就是主鍵。 所謂主鍵就是能夠唯一標識表中某一行的屬性或屬性組,一個表只能有一個主鍵,但可以有多個候選索引。因為主鍵可以唯一標識某一行記錄,所以可以確保執行資料更新、刪除的時候不會出現張冠李戴的錯誤。主鍵除了上述作用外,常常與外來鍵構成參照完整性約束,防止出現數
sql:主鍵(primary key)和唯一索引(unique index)區別
主鍵一定是唯一性索引,唯一性索引並不一定就是主鍵。 所謂主鍵就是能夠唯一標識表中某一行的屬性或屬性組,一個表只能有一個主鍵,但可以有多個候選索引。因為主鍵可以唯一標識某一行記錄,所以可以確保執行資料更新、刪除的時候不會出現張冠李戴的錯誤。主鍵除了上述作用外,常常與外來鍵構成參照完整性約束
學習MongoDB--(5-2):索引(檢視索引的使用,管理索引)
前一篇簡單介紹了索引,並給出了基本的索引使用,這一次,我們進一步說一下MongoDB中的索引,包括如何檢視查詢是否走索引,如何管理索引和地理空間索引等。 【使用explain和hint】 前面講高階查詢選項時,提到過"$explain" 和 ”$hint“可以作為包裝查詢的
樹形索引(鍵樹)
一、鍵樹鍵樹又稱為數字查詢樹,它是一顆度大於等於2的樹,樹中的每個結點中不是包含一個或幾個關鍵字,而是隻含有組成關鍵字的符號。例如,若關鍵字為數值,則結點中只包含一個數位;若關鍵字為單詞,則結點中只包含
樹形索引(B+樹)
一棵m階的B+樹和m階的B-樹的異同點在於: 1.有n棵子樹的結點中含有n 個關鍵字,即每個關鍵碼對應一顆子樹 2.所有的終端結點中包含了全部關鍵字的資訊,及指向含有這些關鍵字記錄的
聯合索引(複合索引)在B+樹上的結構
這幾天看了B系列樹和資料庫索引相關的一些知識,看完這篇文章之後《MySQL索引背後的資料結構及演算法原理》 收穫很大,瞭解了很多知識,隨後也產生了一個想法:聯合索引 對應的 B+ 樹 是一個什麼樣子的結構。帶著這個想法各種百度 也沒得到自己想要的答案,那我就把我的想法寫下
(譯)MySQL 8.0實驗室---MySQL中的倒序索引(Descending Indexes)
譯者注:MySQL 8.0之前,不管是否指定索引建的排序方式,都會忽略建立索引時候指定的排序方式(語法上不會報錯),最終都會建立為ASC方式的索引,在執行查詢的時候,只存在forwarded(正向)方式對索引進行掃描。關於正向索引和反向索引,邏輯上很容易理解,這裡有兩個相關的概念:正向索引或者反向(倒序)
PostgreSQL 11 新特性之覆蓋索引(Covering Index)
文章目錄 通常來說,索引可以用於提高查詢的速度。通過索引,可以快速訪問表中的指定資料,避免了表上的掃描。 有時候,索引不僅僅能夠用於定位表中的資料。某些查詢可能只需要訪問索引的資料,就能夠獲取所需要的結果,而不需要再次訪問表中的資料。這種訪問資料的方法叫做 In
(Mysql 四)普通索引(BTREE索引)的使用
在mysql中,普通索引,也就是BTREE索引分兩類,一個是單列索引 另一個是多列索引 1.索引的作用: 當一個數據表只有很少量的資料時,索引體現不了他的價值。但若是一個表有10w多的資料時,查詢資
keras SegNet使用池化索引(pooling indices)
keras中不能直接使用池化索引。最近學習到SegNet(網上許多錯的,沒有用池化索引),其中下采樣上取樣用到此部分。此處用到自定義層。 完整測試程式碼如下。 """ @author: LiShiHang @software: PyCharm @file: utils.py @ti
ElasticSearch通過Scroll方式遍歷索引(Python程式碼)
當我們要查詢的資料量過大的時候,用es的from+size的方式會報錯,會提示你from+size不能大於10000那麼可以用es的scroll方式,實際是一種深度分頁機制直接上程式碼:#-*- cod