Revision: 17188
http://sourceforge.net/p/gate/code/17188
Author: valyt
Date: 2013-12-19 17:53:32 +0000 (Thu, 19 Dec 2013)
Log Message:
-----------
Some scratch code to exercise the new (5.0) indexers.
Modified Paths:
--------------
mimir/branches/5.0/mimir-test/src/gate/mimir/test/Scratch.java
Modified: mimir/branches/5.0/mimir-test/src/gate/mimir/test/Scratch.java
===================================================================
--- mimir/branches/5.0/mimir-test/src/gate/mimir/test/Scratch.java
2013-12-19 17:52:46 UTC (rev 17187)
+++ mimir/branches/5.0/mimir-test/src/gate/mimir/test/Scratch.java
2013-12-19 17:53:32 UTC (rev 17188)
@@ -25,13 +25,25 @@
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
+import java.net.URL;
import java.text.NumberFormat;
import java.util.Arrays;
+import java.util.Enumeration;
+import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
import org.apache.commons.configuration.ConfigurationException;
+import gate.Document;
import gate.Gate;
+import gate.mimir.AbstractSemanticAnnotationHelper;
+import gate.mimir.IndexConfig;
+import gate.mimir.MimirIndex;
+import gate.mimir.index.AtomicTokenIndex;
+import gate.mimir.index.mg4j.GATEDocument;
import gate.mimir.index.mg4j.MimirDirectIndexBuilder;
import gate.mimir.search.IndexReaderPool;
import gate.mimir.search.QueryEngine;
@@ -61,7 +73,9 @@
public class Scratch {
public static void main (String[] args) throws Exception {
- mainSimple(args);
+ mainIndexer5(args);
+
+// mainSimple(args);
// mainDirectIndexes(args);
// mainBuildDirectIndex(args);
// mainQueryIndex(args);
@@ -184,7 +198,62 @@
qEngine.close();
}
+
/**
+ * Scratch code to exercise the 5.0 indexer framework
+ */
+ public static void mainIndexer5(String[] args) throws Exception {
+ Gate.setGateHome(new File("gate-home"));
+ Gate.setUserConfigFile(new File("gate-home/user-gate.xml"));
+ Gate.init();
+ // load the tokeniser plugin
+ Gate.getCreoleRegister().registerDirectories(new
File("gate-home/plugins/ANNIE-tokeniser").toURI().toURL());
+ // load the DB plugin
+ Gate.getCreoleRegister().registerDirectories(new
File("../plugins/db-h2").toURI().toURL());
+ // load the measurements plugin
+ Gate.getCreoleRegister().registerDirectories(new
File("../plugins/measurements").toURI().toURL());
+
+ File indexDir = new File(args[0]);
+
+ IndexConfig indexConfig = TestUtils.getTestIndexConfig(indexDir,
+ Class.forName("gate.mimir.db.DBSemanticAnnotationHelper",
+ true, Gate.getClassLoader()).asSubclass(
+ AbstractSemanticAnnotationHelper.class));
+
+ MimirIndex mainIndex = new MimirIndex(indexDir);
+
+ // build a token indexer
+ BlockingQueue<GATEDocument> inputQueue = new
LinkedBlockingQueue<GATEDocument>();
+ BlockingQueue<GATEDocument> outputQueue = new
LinkedBlockingQueue<GATEDocument>();
+ AtomicTokenIndex ati = new AtomicTokenIndex(mainIndex, "tokens-0",
+ new File(indexDir, "tokens-0"), false,
+ inputQueue, outputQueue,
+ indexConfig.getTokenIndexers()[0],
+ false);
+
+ File zipFile = new File(args[1]);
+ String fileURI = zipFile.toURI().toString();
+ ZipFile zip = new ZipFile(args[1]);
+ Enumeration<? extends ZipEntry> entries = zip.entries();
+
+ int copies = 1;
+ while(entries.hasMoreElements()) {
+ ZipEntry entry = entries.nextElement();
+ if(entry.isDirectory()) {
+ continue;
+ }
+ URL url = new URL("jar:" + fileURI + "!/" + entry.getName());
+ Document doc = gate.Factory.newDocument(url, "UTF-8");
+ for(int i = 0; i < copies; i++) {
+ GATEDocument gateDoc = new GATEDocument(doc, indexConfig);
+ inputQueue.put(gateDoc);
+ }
+ }
+ ati.close();
+
+ }
+
+ /**
* Version that exercises the scorers
* @param args
*/
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs