/* * Copyright 2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /// Created by IntelliJ IDEA. /// User: Grant Ingersoll /// Date: Feb 2, 2004 /// Time: 6:16:12 PM /// $Id: DocHelper.java,v 1.1 2004/02/20 20:14:55 cutting Exp $ /// Copyright 2004. Center For Natural Language Processing /// using System; using Analyzer = Lucene.Net.Analysis.Analyzer; using WhitespaceAnalyzer = Lucene.Net.Analysis.WhitespaceAnalyzer; using Document = Lucene.Net.Documents.Document; using Field = Lucene.Net.Documents.Field; using Similarity = Lucene.Net.Search.Similarity; using Directory = Lucene.Net.Store.Directory; namespace Lucene.Net.Index { /// /// /// /// class DocHelper { public const System.String FIELD_1_TEXT = "Field one text"; public const System.String TEXT_FIELD_1_KEY = "textField1"; public static Field textField1; public const System.String FIELD_2_TEXT = "Field Field Field two text"; public static readonly int[] FIELD_2_FREQS = new int[]{3, 1, 1}; public const System.String TEXT_FIELD_2_KEY = "textField2"; public static Field textField2; public const System.String KEYWORD_TEXT = "Keyword"; public const System.String KEYWORD_FIELD_KEY = "keyField"; public static Field keyField; public const System.String UNINDEXED_FIELD_TEXT = "unindexed Field text"; public const System.String UNINDEXED_FIELD_KEY = "unIndField"; public static Field unIndField; public const System.String UNSTORED_1_FIELD_TEXT = "unstored Field text"; public const System.String UNSTORED_FIELD_1_KEY = "unStoredField1"; public static Field unStoredField1; public const System.String UNSTORED_2_FIELD_TEXT = "unstored Field text"; public const System.String UNSTORED_FIELD_2_KEY = "unStoredField2"; public static Field unStoredField2; // public static Set fieldNamesSet = null; // public static Set fieldValuesSet = null; public static System.Collections.IDictionary nameValues = null; /// Adds the fields above to a document /// The document to write /// public static void SetupDoc(Document doc) { doc.Add(textField1); doc.Add(textField2); doc.Add(keyField); doc.Add(unIndField); doc.Add(unStoredField1); doc.Add(unStoredField2); } /// Writes the document to the directory using a segment named "test" /// dir /// /// doc /// public static void WriteDoc(Directory dir, Document doc) { WriteDoc(dir, "test", doc); } /// Writes the document to the directory in the given segment /// dir /// /// segment /// /// doc /// public static void WriteDoc(Directory dir, System.String segment, Document doc) { Analyzer analyzer = new WhitespaceAnalyzer(); Similarity similarity = Similarity.GetDefault(); WriteDoc(dir, analyzer, similarity, segment, doc); } /// Writes the document to the directory segment named "test" using the specified analyzer and similarity /// dir /// /// analyzer /// /// similarity /// /// doc /// public static void WriteDoc(Directory dir, Analyzer analyzer, Similarity similarity, Document doc) { WriteDoc(dir, analyzer, similarity, "test", doc); } /// Writes the document to the directory segment using the analyzer and the similarity score /// dir /// /// analyzer /// /// similarity /// /// segment /// /// doc /// public static void WriteDoc(Directory dir, Analyzer analyzer, Similarity similarity, System.String segment, Document doc) { DocumentWriter writer = new DocumentWriter(dir, analyzer, similarity, 50); try { writer.AddDocument(segment, doc); } catch (System.IO.IOException e) { System.Console.Error.WriteLine(e.StackTrace); } } public static int NumFields(Document doc) { int result = 0; foreach (Field field in doc.Fields()) { System.Object generatedAux = field; result++; } return result; } static DocHelper() { textField1 = Field.Text(TEXT_FIELD_1_KEY, FIELD_1_TEXT, false); textField2 = Field.Text(TEXT_FIELD_2_KEY, FIELD_2_TEXT, true); keyField = Field.Keyword(KEYWORD_FIELD_KEY, KEYWORD_TEXT); unIndField = Field.UnIndexed(UNINDEXED_FIELD_KEY, UNINDEXED_FIELD_TEXT); unStoredField1 = Field.UnStored(UNSTORED_FIELD_1_KEY, UNSTORED_1_FIELD_TEXT, false); unStoredField2 = Field.UnStored(UNSTORED_FIELD_2_KEY, UNSTORED_2_FIELD_TEXT, true); { nameValues = new System.Collections.Hashtable(); nameValues[TEXT_FIELD_1_KEY] = FIELD_1_TEXT; nameValues[TEXT_FIELD_2_KEY] = FIELD_2_TEXT; nameValues[KEYWORD_FIELD_KEY] = KEYWORD_TEXT; nameValues[UNINDEXED_FIELD_KEY] = UNINDEXED_FIELD_TEXT; nameValues[UNSTORED_FIELD_1_KEY] = UNSTORED_1_FIELD_TEXT; nameValues[UNSTORED_FIELD_2_KEY] = UNSTORED_2_FIELD_TEXT; } } } /* fieldNamesSet = new HashSet(); fieldNamesSet.add(TEXT_FIELD_1_KEY); fieldNamesSet.add(TEXT_FIELD_2_KEY); fieldNamesSet.add(KEYWORD_FIELD_KEY); fieldNamesSet.add(UNINDEXED_FIELD_KEY); fieldNamesSet.add(UNSTORED_FIELD_1_KEY); fieldNamesSet.add(UNSTORED_FIELD_2_KEY); fieldValuesSet = new HashSet(); fieldValuesSet.add(FIELD_1_TEXT); fieldValuesSet.add(FIELD_2_TEXT); fieldValuesSet.add(KEYWORD_TEXT); fieldValuesSet.add(UNINDEXED_FIELD_TEXT); fieldValuesSet.add(UNSTORED_1_FIELD_TEXT); fieldValuesSet.add(UNSTORED_2_FIELD_TEXT);*/ }