KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nemesis > forum > search > MessageDocument


1
2
3 package org.nemesis.forum.search;
4
5 import org.apache.commons.logging.Log;
6 import org.apache.commons.logging.LogFactory;
7 import org.apache.lucene.document.DateField;
8 import org.apache.lucene.document.Document;
9 import org.apache.lucene.document.Field;
10 import org.nemesis.forum.Message;
11
12 /**
13  * @author dlaurent
14  *
15  * ForumMessage to Lucene Document
16  */

17 public class MessageDocument {
18     static protected Log log = LogFactory.getLog(MessageDocument.class);
19     
20     public static Document getDocument(Message m) {
21             
22             try {
23                 // créé un nouveau document
24
Document doc = new Document();
25                 doc.add(Field.Keyword("messageID", Integer.toString(m.getID())));
26                 doc.add(new Field("userID", Integer.toString(m.getUser().getID()), false, true, false));
27                 doc.add(new Field("threadID", Integer.toString(m.getForumThread().getID()), false, true, false));
28                 doc.add(new Field("forumID", Integer.toString(m.getForumThread().getForum().getID()), false, true, false));
29                 doc.add(Field.UnStored("subject", m.getSubject()));
30                 doc.add(Field.UnStored("body", m.getBody()));
31                 doc.add(new Field("creationDate", DateField.dateToString(m.getCreationDate()), false, true, false));
32
33
34                 return doc;
35                 
36             } catch (Throwable JavaDoc e) {
37                 log.error("lucene document cannot be created",e);
38                 return null;
39             }
40         }
41 }
42
Popular Tags