KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > knowgate > lucene > NewsMessageIndexer


1 package com.knowgate.lucene;
2
3 import java.io.InputStream JavaDoc;
4 import java.io.IOException JavaDoc;
5
6 import java.util.Date JavaDoc;
7
8 import java.math.BigDecimal JavaDoc;
9
10 import org.apache.lucene.index.IndexWriter;
11 import org.apache.lucene.document.Document;
12 import com.knowgate.misc.Gadgets;
13 import org.apache.lucene.document.Field;
14
15 /**
16  * Indexer subclass for hipergate forum messages
17  * @author Sergio Montoro Ten
18  * @version 3.0
19  */

20 public class NewsMessageIndexer extends Indexer {
21
22   public NewsMessageIndexer() {
23   }
24
25   public static void addNewsMessage(IndexWriter oIWrt,
26                                     String JavaDoc sGuid, String JavaDoc sWorkArea,
27                                     String JavaDoc sContainer, String JavaDoc sTitle,
28                                     String JavaDoc sAuthor, Date JavaDoc dtCreated,
29                                     String JavaDoc sText)
30     throws ClassNotFoundException JavaDoc, IOException JavaDoc, IllegalArgumentException JavaDoc,
31              NoSuchFieldException JavaDoc, IllegalAccessException JavaDoc, InstantiationException JavaDoc,
32              NullPointerException JavaDoc {
33
34     Document oDoc = new Document();
35     oDoc.add (Field.Keyword ("workarea" , sWorkArea));
36     oDoc.add (Field.Keyword ("container", sContainer));
37     oDoc.add (Field.Keyword ("guid" , sGuid));
38     oDoc.add (Field.Text ("title" , Gadgets.ASCIIEncode(sTitle)));
39     oDoc.add (Field.Keyword ("created" , dtCreated));
40     oDoc.add (Field.Text ("author" , Gadgets.ASCIIEncode(sAuthor)));
41     oDoc.add (Field.UnStored("text" , Gadgets.ASCIIEncode(sText)));
42     if (sText.length()>80)
43       oDoc.add (new Field("abstract", sText.substring(0,80), true, false, false));
44     else
45       oDoc.add (new Field("abstract", sText, true, false, false));
46     oIWrt.addDocument(oDoc);
47   } // addNewsMessage
48
}
49
Popular Tags