1 6 7 package org.contineo.searchengine.search; 8 9 import java.util.Collection ; 10 import java.util.Iterator ; 11 import java.util.Vector ; 12 import org.contineo.core.text.StringParser; 13 16 public class SearchOptions { 17 18 21 private String queryStr = ""; 22 25 private String length = ""; 26 29 private String relation = ""; 30 33 private String format = ""; 34 37 private boolean fuzzy = false; 38 41 private String username = ""; 42 45 private String [] fields = null; 46 private String [] languages = null; 47 50 private String date = ""; 51 54 private String dateRelation = ""; 55 58 private int start = 0; 59 private int resultStart = 0; 60 private Vector pageVect = new Vector (); 61 64 private int hitsPerPage = 20; 65 66 67 public SearchOptions() { 68 } 69 70 74 public String getQueryStr() { 75 return queryStr; 76 } 77 78 82 public String getLength() { 83 return length; 84 } 85 86 90 public String getRelation() { 91 return relation; 92 } 93 94 98 public String getFormat() { 99 return format; 100 } 101 102 106 public boolean getFuzzy() { 107 return fuzzy; 108 } 109 110 114 public String getUsername() { 115 return username; 116 } 117 118 122 public String [] getFields() { 123 return fields; 124 } 125 126 130 public String getDate() { 131 return date; 132 } 133 134 138 public String getDateRelation() { 139 return dateRelation; 140 } 141 142 146 public int getStart() { 147 return start; 148 } 149 150 154 public int getHitsPerPage() { 155 return hitsPerPage; 156 } 157 158 159 163 public void setQueryStr(String query) { 164 queryStr = query; 165 } 166 167 171 public void setQueryStr(String query, String phrase, String any, String not) { 172 if (fuzzy) { 173 StringParser sp = new StringParser(query); 174 Collection collquery = sp.getWordTable(); 175 Iterator iter = collquery.iterator(); 176 while (iter.hasNext()) { 177 String word = (String ) iter.next(); 178 queryStr += word + "~ "; 179 } 180 } else { 181 queryStr = query; 182 } 183 if (phrase != null && !phrase.equals("")) 184 queryStr += " \"" + phrase + "\""; 185 if (any != null && !any.equals("")) { 186 boolean first = true; 187 StringParser sp = new StringParser(any); 188 Collection collany = sp.getWordTable(); 189 Iterator iter = collany.iterator(); 190 while (iter.hasNext()) { 191 String word = (String ) iter.next(); 192 if (!first) 193 queryStr += " OR"; 194 else 195 first = false; 196 queryStr += " " + word; 197 if (fuzzy) 198 queryStr += "~"; 199 } 200 } 201 if (not != null && !not.equals("")) { 202 queryStr += " NOT (" + not + ")"; 203 } 204 } 205 206 210 public void setLength(String len) { 211 length = len; 212 } 213 214 218 public void setRelation(String rel) { 219 relation = rel; 220 } 221 222 226 public void setFormat(String form) { 227 format = form; 228 } 229 230 234 public void setFuzzy(boolean fuz) { 235 fuzzy = fuz; 236 } 237 238 242 public void setUsername(String name) { 243 username = name; 244 } 245 246 250 public void setFields(String [] flds) { 251 fields = flds; 252 } 253 254 255 public void addField(String s) { 256 fields[fields.length] = s; 257 } 258 259 263 public void setDate(String dte) { 264 date = dte; 265 } 266 267 271 public void setDateRelation(String daterel) { 272 dateRelation = daterel; 273 } 274 275 279 public void setStart(int st) { 280 start = st; 281 } 282 283 287 public void setHitsPerPage(int hpp) { 288 hitsPerPage = hpp; 289 } 290 291 295 public String [] getLanguages() { 296 return languages; 297 } 298 299 303 public void setLanguages(String [] languages) { 304 this.languages = languages; 305 } 306 307 311 public int getResultStart() { 312 return resultStart; 313 } 314 315 319 public void setResultStart(int resultStart) { 320 this.resultStart = resultStart; 321 } 322 323 327 public Vector getPageVect() { 328 return pageVect; 329 } 330 331 335 public void setPageVect(Vector pageVect) { 336 this.pageVect = pageVect; 337 } 338 } 339 | Popular Tags |