annotate src/de/mpiwg/dwinter/lucencetools/analyzer/LanguageAnalyzer.java @ 0:dc7622afcfea default tip

initial
author dwinter
date Wed, 03 Nov 2010 12:33:16 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dc7622afcfea initial
dwinter
parents:
diff changeset
1 /* */ package de.mpiwg.dwinter.lucencetools.analyzer;
dc7622afcfea initial
dwinter
parents:
diff changeset
2 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
3 /* */ import java.io.File;
dc7622afcfea initial
dwinter
parents:
diff changeset
4 /* */ import java.io.IOException;
dc7622afcfea initial
dwinter
parents:
diff changeset
5 /* */ import org.apache.lucene.analysis.Analyzer;
dc7622afcfea initial
dwinter
parents:
diff changeset
6 /* */ import org.apache.lucene.index.CorruptIndexException;
dc7622afcfea initial
dwinter
parents:
diff changeset
7 /* */ import org.apache.lucene.index.IndexReader;
dc7622afcfea initial
dwinter
parents:
diff changeset
8 /* */ import org.apache.lucene.index.IndexWriter;
dc7622afcfea initial
dwinter
parents:
diff changeset
9 /* */ import org.apache.lucene.index.IndexWriter.MaxFieldLength;
dc7622afcfea initial
dwinter
parents:
diff changeset
10 /* */ import org.apache.lucene.search.IndexSearcher;
dc7622afcfea initial
dwinter
parents:
diff changeset
11 /* */ import org.apache.lucene.store.Directory;
dc7622afcfea initial
dwinter
parents:
diff changeset
12 /* */ import org.apache.lucene.store.LockObtainFailedException;
dc7622afcfea initial
dwinter
parents:
diff changeset
13 import org.apache.lucene.store.NIOFSDirectory;
dc7622afcfea initial
dwinter
parents:
diff changeset
14 import org.apache.lucene.store.SimpleFSLockFactory;
dc7622afcfea initial
dwinter
parents:
diff changeset
15 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
16 /* */ public class LanguageAnalyzer
dc7622afcfea initial
dwinter
parents:
diff changeset
17 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
18 /* */ public String lang;
dc7622afcfea initial
dwinter
parents:
diff changeset
19 /* */ public Analyzer analyzer;
dc7622afcfea initial
dwinter
parents:
diff changeset
20 /* 19 */ public IndexWriter writer = null;
dc7622afcfea initial
dwinter
parents:
diff changeset
21 /* 20 */ public IndexReader reader = null;
dc7622afcfea initial
dwinter
parents:
diff changeset
22 /* 21 */ public IndexSearcher searcher = null;
dc7622afcfea initial
dwinter
parents:
diff changeset
23 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
24 /* */ public LanguageAnalyzer(String lang, Analyzer analyzer, File index_dir, boolean onlyReader)
dc7622afcfea initial
dwinter
parents:
diff changeset
25 /* */ throws CorruptIndexException, LockObtainFailedException, IOException
dc7622afcfea initial
dwinter
parents:
diff changeset
26 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
27 /* 35 */ this.lang = lang;
dc7622afcfea initial
dwinter
parents:
diff changeset
28 /* 36 */ this.analyzer = analyzer;
dc7622afcfea initial
dwinter
parents:
diff changeset
29 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
30 /* 38 */ boolean create = true;
dc7622afcfea initial
dwinter
parents:
diff changeset
31 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
32 /* 40 */ if (!index_dir.exists()) {
dc7622afcfea initial
dwinter
parents:
diff changeset
33 /* 41 */ index_dir.mkdir();
dc7622afcfea initial
dwinter
parents:
diff changeset
34 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
35 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
36 /* 44 */ File lang_dir = new File(index_dir.getAbsolutePath() + "/" + lang);
dc7622afcfea initial
dwinter
parents:
diff changeset
37 /* 45 */ if (lang_dir.exists()) {
dc7622afcfea initial
dwinter
parents:
diff changeset
38 /* 46 */ create = false;
dc7622afcfea initial
dwinter
parents:
diff changeset
39 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
40 File dirFile= new File(index_dir + "/" + lang);
dc7622afcfea initial
dwinter
parents:
diff changeset
41 /* 48 */ Directory indexDirectory = new NIOFSDirectory(dirFile);
dc7622afcfea initial
dwinter
parents:
diff changeset
42 /* */ indexDirectory.setLockFactory(new SimpleFSLockFactory(dirFile)); // TODO:ansonsten probleme wenn NFS mounts
dc7622afcfea initial
dwinter
parents:
diff changeset
43 /* 50 */ if (!onlyReader)
dc7622afcfea initial
dwinter
parents:
diff changeset
44 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
45 /* 52 */ this.writer =
dc7622afcfea initial
dwinter
parents:
diff changeset
46 /* 53 */ new IndexWriter(indexDirectory,
dc7622afcfea initial
dwinter
parents:
diff changeset
47 /* 53 */ analyzer, IndexWriter.MaxFieldLength.UNLIMITED);
dc7622afcfea initial
dwinter
parents:
diff changeset
48 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
49 /* 55 */ if (!index_dir.exists())
dc7622afcfea initial
dwinter
parents:
diff changeset
50 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
51 /* 58 */ return;
dc7622afcfea initial
dwinter
parents:
diff changeset
52 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
53 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
54 /* 62 */ create = true;
dc7622afcfea initial
dwinter
parents:
diff changeset
55 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
56 /* 65 */ if (lang_dir.exists()) {
dc7622afcfea initial
dwinter
parents:
diff changeset
57 /* 66 */ create = false;
dc7622afcfea initial
dwinter
parents:
diff changeset
58 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
59 /* 68 */ if (create)
dc7622afcfea initial
dwinter
parents:
diff changeset
60 /* */ return;
dc7622afcfea initial
dwinter
parents:
diff changeset
61 /* 70 */ IndexReader reader = IndexReader.open(indexDirectory);
dc7622afcfea initial
dwinter
parents:
diff changeset
62 /* 71 */ this.reader = reader;
dc7622afcfea initial
dwinter
parents:
diff changeset
63 /* 72 */ this.searcher = new IndexSearcher(reader);
dc7622afcfea initial
dwinter
parents:
diff changeset
64 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
65 /* */
dc7622afcfea initial
dwinter
parents:
diff changeset
66 /* */ public LanguageAnalyzer(String lang, Analyzer analyzer, File index_dir)
dc7622afcfea initial
dwinter
parents:
diff changeset
67 /* */ throws CorruptIndexException, LockObtainFailedException, IOException
dc7622afcfea initial
dwinter
parents:
diff changeset
68 /* */ {
dc7622afcfea initial
dwinter
parents:
diff changeset
69 /* 78 */ this(lang, analyzer, index_dir, false);
dc7622afcfea initial
dwinter
parents:
diff changeset
70 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
71 /* */ }
dc7622afcfea initial
dwinter
parents:
diff changeset
72
dc7622afcfea initial
dwinter
parents:
diff changeset
73 /* Location: /private/tmp/fulltextIndexer.jar
dc7622afcfea initial
dwinter
parents:
diff changeset
74 * Qualified Name: de.mpiwg.dwinter.lucencetools.analyzer.LanguageAnalyzer
dc7622afcfea initial
dwinter
parents:
diff changeset
75 * JD-Core Version: 0.5.4
dc7622afcfea initial
dwinter
parents:
diff changeset
76 */