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 }