所謂事務性,本多指資料庫的屬性,包括acid四個基本要素:原子性(atomicity)、一致性(consistency)、隔離性(isolation)、永續性(durability)。
我們這裡主要討論隔離性,lucene的indexreader和indexwriter具有隔離性。
下面我們舉幾個例子來說明上述隔離性:
(1) 首先做準備,索引十篇文件
file indexdir = new file("testisolation/index");
indexwriter writer = new indexwriter(fsdirectory.open(indexdir), new standardanalyzer(version.lucene_current), true, indexwriter.maxfieldlength.limited);
for(int i =0; i < 10; i++){
indexdocs(writer);
writer.close();
(2) 然後再索引十篇文件,並不commit
writer = new indexwriter(fsdirectory.open(indexdir), new standardanalyzer(version.lucene_current), indexwriter.maxfieldlength.limited);
for(int i =0; i < 10; i++){
indexdocs(writer);
(3) 開啟乙個indexreader,但是由於indexwriter沒有commit,所以仍然僅看到十篇文件。
indexreader reader = indexreader.open(fsdirectory.open(indexdir));
indexsearcher searcher = new indexsearcher(reader);
topdocs docs = searcher.search(new termquery(new term("contents","hello")), 50);
system.out.println(docs.totalhits);
(4) indexwriter進行提交commit
writer.commit();
(5) 不重新開啟indexreader,進行搜尋,仍然僅看到十篇文件。
docs = searcher.search(new termquery(new term("contents","hello")), 50);
system.out.println(docs.totalhits);
(6) indexreader重新開啟,則可以看到二十篇文件。
reader = indexreader.open(fsdirectory.open(indexdir));
searcher = new indexsearcher(reader);
docs = searcher.search(new termquery(new term("contents","hello")), 50);
system.out.println(docs.totalhits);
有關Lucene的問題 6 Lucene的事務性
所謂事務性,本多指資料庫的屬性,包括acid四個基本要素 原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 我們這裡主要討論隔離性,lucene的indexreader和indexwriter具有隔離性。下面我們舉幾個例子來說明上述...
有關Lucene的問題 6 Lucene的事務性
所謂事務性,本多指資料庫的屬性,包括acid四個基本要素 原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 我們這裡主要討論隔離性,lucene的indexreader和indexwriter具有隔離性。下面我們舉幾個例子來說明上述...
sqlbox的有關問題
1.先裝ensemble 2010.2.8.1104 再裝sqldbx 應用程式可以使用sqlsetenvattr來啟用連線池。當odbc應用程式呼叫sqldisconnect初次,該連線儲存到池。任何後續sqlconnect sqldisconnect匹配必需條件將重用第乙個連線。3 3 sqld...