00001
00002 package de.aitools.aq.invertedindex.usage;
00003
00004 import java.io.File;
00005 import java.io.FileNotFoundException;
00006
00007 import de.aitools.aq.invertedindex.core.Configuration;
00008 import de.aitools.aq.invertedindex.core.Configuration.KeySorting;
00009 import de.aitools.aq.invertedindex.core.Configuration.ValueSorting;
00010 import de.aitools.aq.invertedindex.core.ManagedIndexer;
00011 import de.aitools.aq.invertedindex.core.Properties;
00012 import de.aitools.aq.invertedindex.io.InvertedFileWriter;
00013 import de.aitools.aq.util.Memory;
00014 import de.aitools.aq.util.Record;
00015 import de.aitools.aq.value.single.SingleLong;
00016
00025 public class UsingManagedIndexer {
00026
00027 public static void main(String[] args) throws FileNotFoundException {
00028
00029
00030
00031
00032 Class<SingleLong> valueClass = SingleLong.class;
00033 File invertedFile = new File("/path/to/your/input/inv-file.txt");
00034 InvertedFileWriter<SingleLong> writer =
00035 new InvertedFileWriter<SingleLong>(invertedFile);
00036
00037
00038
00039
00040 for (int i = 0; i != Short.MAX_VALUE; ++i) {
00041 String key = "key" + (i % Byte.MAX_VALUE);
00042 SingleLong value = new SingleLong(i);
00043 writer.write(new Record<SingleLong>(key, value));
00044 }
00045 writer.close();
00046
00047
00048
00049
00050 Configuration config = new Configuration();
00051 config.setInputDirectory(invertedFile.getParentFile());
00052 config.setIndexDirectory(new File("/path/to/your/index"));
00053 config.setKeySorting(KeySorting.UNSORTED);
00054 config.setValueSorting(ValueSorting.ASCENDING);
00055 config.setMaxMemoryUsage(Memory.MB1024);
00056
00057 Properties properties = ManagedIndexer.index(valueClass, config);
00058
00059 properties.printTo(System.out).println();
00060 }
00061 }