Author: j16sdiz
Date: 2009-01-02 13:10:46 +0000 (Fri, 02 Jan 2009)
New Revision: 24880

Modified:
   trunk/plugins/XMLSpider/IndexWriter.java
   trunk/plugins/XMLSpider/XMLSpider.java
   trunk/plugins/XMLSpider/db/Page.java
Log:
standalone writer use readonly file

Modified: trunk/plugins/XMLSpider/IndexWriter.java
===================================================================
--- trunk/plugins/XMLSpider/IndexWriter.java    2009-01-02 10:35:14 UTC (rev 
24879)
+++ trunk/plugins/XMLSpider/IndexWriter.java    2009-01-02 13:10:46 UTC (rev 
24880)
@@ -54,7 +54,6 @@
 
        public synchronized void makeIndex(PerstRoot perstRoot) throws 
Exception {
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
-               
perstRoot.getStorage().beginThreadTransaction(Storage.COOPERATIVE_TRANSACTION);
                try {
                        time_taken = System.currentTimeMillis();
 
@@ -77,7 +76,6 @@
 
                        tProducedIndex = System.currentTimeMillis();
                } finally {
-                       perstRoot.getStorage().endThreadTransaction();
                }
        }
 
@@ -360,7 +358,8 @@
                                Set<Page> pages = term.getPages();
 
                                for (Page page : pages) {
-                                       TermPosition termPos = 
page.getTermPosition(term);
+                                       TermPosition termPos = 
page.getTermPosition(term, false);
+                                       if (termPos == null) continue;
                                        
                                        synchronized (termPos) {
                                                synchronized (page) {
@@ -556,6 +555,7 @@
                db.setProperty("perst.alternative.btree", true);
                db.setProperty("perst.string.encoding", "UTF-8");
                db.setProperty("perst.concurrent.iterator", true);
+               db.setProperty("perst.file.readonly", true);
 
                db.open(arg[0]);
                PerstRoot root = (PerstRoot) db.getRoot();
@@ -606,4 +606,4 @@
                        System.out.println("       sd = " + (long) 
Math.sqrt(meanSqTime - meanTime * meanTime) + "ms");
                }
        }
-}
\ No newline at end of file
+}

Modified: trunk/plugins/XMLSpider/XMLSpider.java
===================================================================
--- trunk/plugins/XMLSpider/XMLSpider.java      2009-01-02 10:35:14 UTC (rev 
24879)
+++ trunk/plugins/XMLSpider/XMLSpider.java      2009-01-02 13:10:46 UTC (rev 
24880)
@@ -643,7 +643,7 @@
                        if (word.length() < 3)
                                return;
                        Term term = getTermByWord(word, true);
-                       TermPosition termPos = page.getTermPosition(term);
+                       TermPosition termPos = page.getTermPosition(term, true);
                        termPos.addPositions(position);
                }
        }

Modified: trunk/plugins/XMLSpider/db/Page.java
===================================================================
--- trunk/plugins/XMLSpider/db/Page.java        2009-01-02 10:35:14 UTC (rev 
24879)
+++ trunk/plugins/XMLSpider/db/Page.java        2009-01-02 13:10:46 UTC (rev 
24880)
@@ -74,12 +74,12 @@
                return pageTitle;
        }
 
-       public synchronized TermPosition getTermPosition(Term term) {
+       public synchronized TermPosition getTermPosition(Term term, boolean 
create) {
                if (termPosMap == null)
                        termPosMap = getStorage().createMap(String.class);
 
                TermPosition tp = termPosMap.get(term.md5);
-               if (tp == null) {
+               if (tp == null && create) {
                        tp = new TermPosition(getStorage());
                        term.pageSet.add(this);
                }

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to