Author: j16sdiz
Date: 2008-12-18 07:41:30 +0000 (Thu, 18 Dec 2008)
New Revision: 24515
Modified:
trunk/plugins/XMLSpider/XMLSpider.java
Log:
store TermPosition at the end
Modified: trunk/plugins/XMLSpider/XMLSpider.java
===================================================================
--- trunk/plugins/XMLSpider/XMLSpider.java 2008-12-18 07:18:08 UTC (rev
24514)
+++ trunk/plugins/XMLSpider/XMLSpider.java 2008-12-18 07:41:30 UTC (rev
24515)
@@ -421,6 +421,7 @@
try {
ContentFilter.filter(data, new
NullBucketFactory(), mimeType, uri.toURI("http://127.0.0.1:8888/"),
pageCallBack);
+ pageCallBack.store();
Logger.minor(this, "Filtered " + uri +
" : " + page.id);
} catch (UnsafeContentTypeException e) {
return; // Ignore
@@ -1277,7 +1278,6 @@
newPositions[termPos.positions.length] =
position;
termPos.positions = newPositions;
- db.store(termPos);
}
mustWriteIndex = true;
@@ -1285,10 +1285,19 @@
protected Map<Term, TermPosition> termPosCache = new
LinkedHashMap<Term, TermPosition>() {
protected boolean removeEldestEntry(Map.Entry<Term,
TermPosition> eldest) {
- return size() > 1024;
+ if (size() < 1024) return false;
+
+ db.store(eldest.getValue());
+ return true;
}
};
+ public void store() {
+ for (TermPosition tp : termPosCache.values())
+ db.store(tp);
+ termPosCache.clear();
+ }
+
protected TermPosition getTermPosition(Term term, boolean
create) {
synchronized (term) {
TermPosition cachedTermPos =
termPosCache.get(term);
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs