001    package railo.runtime.search.lucene2.docs;
002    
003    import org.apache.lucene.document.Document;
004    import org.apache.lucene.document.Field;
005    
006    import railo.commons.lang.StringUtil;
007    
008    public class FieldUtil {
009    
010            public static Field UnIndexed(String name, String value) {
011                    return new Field(name,value,Field.Store.YES,Field.Index.NO);
012            }
013    
014            public static Field Text(String name, String value) {//print.out("text:"+name);
015                    return new Field(name,value,Field.Store.YES,Field.Index.ANALYZED);
016            }
017    
018            public static Field Text(String name, String value,boolean store) {
019                    return new Field(name,value,store?Field.Store.YES:Field.Store.NO,Field.Index.ANALYZED);
020            }
021    
022            public static void setTitle(Document doc, String title) {
023                    if(!StringUtil.isEmpty(title))          doc.add(Text("title", title));
024            }
025    
026            public static void setSummary(Document doc, String summary,boolean index) {
027                    if(!StringUtil.isEmpty(summary))        doc.add(index?Text("summary",summary):UnIndexed("summary",summary));
028            }
029    
030            public static void setKeywords(Document doc, String keywords) {
031                    if(!StringUtil.isEmpty(keywords))       doc.add(Text("keywords", keywords));
032            }
033    
034            public static void setAuthor(Document doc, String author) {
035                    if(!StringUtil.isEmpty(author))         doc.add(Text("author", author));
036            }
037    
038            public static void setURL(Document doc, String urlpath) {
039                    if(!StringUtil.isEmpty(urlpath))                doc.add(Text("url", urlpath));
040            }
041            public static void setCustom(Document doc, String custom, int index) {
042                    if(!StringUtil.isEmpty(custom))         doc.add(Text("custom"+index, custom));
043            }
044    
045            public static void setContent(Document doc, String content) {
046                    if(!StringUtil.isEmpty(content))        doc.add(Text("contents", content));
047            }
048    
049            public static void setRaw(Document doc, String raw) {
050                    //doc.add(new Field("raw",raw,Field.Store.YES,Field.Index.NO));
051            }
052    
053            public static void setMimeType(Document doc, String mimeType) {
054                    if(!StringUtil.isEmpty(mimeType))       doc.add(FieldUtil.UnIndexed("mime-type", mimeType));
055            }
056    
057            
058    }