01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.apache.cocoon.components.search;
18:
19: import org.apache.lucene.analysis.Analyzer;
20: import org.apache.lucene.index.IndexReader;
21: import org.apache.lucene.index.IndexWriter;
22: import org.apache.lucene.store.Directory;
23: import org.apache.lucene.store.FSDirectory;
24:
25: import java.io.File;
26: import java.io.IOException;
27:
28: /**
29: * This class encapsulates some helper methods.
30: *
31: * @author <a href="mailto:berni_huber@a1.net">Bernhard Huber</a>
32: * @version CVS $Id: LuceneCocoonHelper.java 433543 2006-08-22 06:22:54Z crossley $
33: */
34: public class LuceneCocoonHelper {
35: /**
36: *Gets the directory attribute of the LuceneCocoonHelper class
37: *
38: * @param directory Description of Parameter
39: * @param create Description of Parameter
40: * @return The directory value
41: * @exception IOException Description of Exception
42: * @since
43: */
44: public static Directory getDirectory(File directory, boolean create)
45: throws IOException {
46: FSDirectory fsDirectory = FSDirectory.getDirectory(directory,
47: create);
48: return fsDirectory;
49: }
50:
51: /**
52: *Gets the analyzer attribute of the LuceneCocoonHelper class
53: *
54: * @param analyzer_class_name Description of Parameter
55: * @return The analyzer value
56: * @since
57: */
58: public static Analyzer getAnalyzer(String analyzer_class_name) {
59: Analyzer analyzer = null;
60: try {
61: Class analyzer_class = Class.forName(analyzer_class_name);
62: analyzer = (Analyzer) analyzer_class.newInstance();
63: } catch (Exception e) {
64: }
65: return analyzer;
66: }
67:
68: /**
69: *Gets the indexReader attribute of the LuceneCocoonHelper class
70: *
71: * @param directory Description of Parameter
72: * @return The indexReader value
73: * @exception IOException Description of Exception
74: * @since
75: */
76: public static IndexReader getIndexReader(Directory directory)
77: throws IOException {
78: IndexReader reader = IndexReader.open(directory);
79: return reader;
80: }
81:
82: /**
83: *Gets the indexWriter attribute of the LuceneCocoonHelper class
84: *
85: * @param index Description of Parameter
86: * @param analyzer Description of Parameter
87: * @param create Description of Parameter
88: * @return The indexWriter value
89: * @exception IOException Description of Exception
90: * @since
91: */
92: public static IndexWriter getIndexWriter(Directory index,
93: Analyzer analyzer, boolean create) throws IOException {
94: IndexWriter writer = new IndexWriter(index, analyzer, create);
95: return writer;
96: }
97: }
|