1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess;
17
18 import java.util.TimeZone;
19 import java.util.regex.Pattern;
20
21 import org.codelibs.core.CoreLibConstants;
22 import org.codelibs.core.lang.StringUtil;
23
24 public class Constants extends CoreLibConstants {
25
26 public static final String LINE_SEPARATOR = System.getProperty("line.separator");
27
28 public static final int DEFAULT_ADMIN_PAGE_NUMBER = 1;
29
30 public static final String TRUE = "true";
31
32 public static final String FALSE = "false";
33
34 public static final Boolean T = true;
35
36 public static final Boolean F = false;
37
38 public static final String SCORE = "score";
39
40 public static final String ON = "on";
41
42 public static final String READY = "ready";
43
44 public static final String RUNNING = "running";
45
46 public static final String DONE = "done";
47
48 public static final String OK = "ok";
49
50 public static final String FAIL = "fail";
51
52 public static final String STOP = "stop";
53
54 public static final String ITEM_LABEL = "label";
55
56 public static final String ITEM_VALUE = "value";
57
58 public static final String ITEM_NAME = "name";
59
60 public static final String MS932 = "MS932";
61
62 public static final String DEFAULT_CRON_EXPRESSION = "0 0 * * *";
63
64 public static final String DEFAULT_SEARCH_LOG_CRON_EXPRESSION = "* * * * *";
65
66 public static final String DEFAULT_DAILY_CRON_EXPRESSION = "0 0 * * *";
67
68 public static final String DEFAULT_HOURLY_CRON_EXPRESSION = "0 * * * *";
69
70 public static final int DEFAULT_INTERVAL_TIME_FOR_FS = 1000;
71
72 public static final int DEFAULT_INTERVAL_TIME_FOR_WEB = 10000;
73
74 public static final int DEFAULT_NUM_OF_THREAD_FOR_FS = 5;
75
76 public static final int DEFAULT_NUM_OF_THREAD_FOR_WEB = 1;
77
78 public static final long DEFAULT_CRAWLING_EXECUTION_INTERVAL = 5000L;
79
80
81 public static final String USER_INFO_PROPERTY = "user.info";
82
83 public static final String USER_FAVORITE_PROPERTY = "user.favorite";
84
85 public static final String SEARCH_LOG_PROPERTY = "search.log";
86
87 public static final String APPEND_QUERY_PARAMETER_PROPERTY = "append.query.parameter";
88
89 public static final String INCREMENTAL_CRAWLING_PROPERTY = "crawling.incremental";
90
91 public static final String CRAWLING_THREAD_COUNT_PROPERTY = "crawling.thread.count";
92
93 public static final String CRAWLING_USER_AGENT_PROPERTY = "crawling.user.agent";
94
95 public static final String DAY_FOR_CLEANUP_PROPERTY = "day.for.cleanup";
96
97 public static final String WEB_API_JSON_PROPERTY = "web.api.json";
98
99 public static final String WEB_API_SUGGEST_PROPERTY = "web.api.suggest";
100
101 public static final String WEB_API_GSA_PROPERTY = "web.api.gsa";
102
103 public static final String WEB_API_POPULAR_WORD_PROPERTY = "web.api.popularword";
104
105 public static final String APP_VALUE_PROPERTY = "system.properties";
106
107 public static final String DEFAULT_LABEL_VALUE_PROPERTY = "label.value";
108
109 public static final String DEFAULT_SORT_VALUE_PROPERTY = "sort.value";
110
111 public static final String VIRTUAL_HOST_VALUE_PROPERTY = "virtual.host.value";
112
113 public static final String LOGIN_REQUIRED_PROPERTY = "login.required";
114
115 public static final String RESULT_COLLAPSED_PROPERTY = "result.collapsed";
116
117 public static final String LOGIN_LINK_ENALBED_PROPERTY = "login.link.enabled";
118
119 public static final String THUMBNAIL_ENALBED_PROPERTY = "thumbnail.enabled";
120
121 public static final String IGNORE_FAILURE_TYPE_PROPERTY = "failure.ignoretype";
122
123 public static final String FAILURE_COUNT_THRESHOLD_PROPERTY = "failure.countthreshold";
124
125 public static final String CSV_FILE_ENCODING_PROPERTY = "csv.file.encoding";
126
127 public static final String PURGE_SEARCH_LOG_DAY_PROPERTY = "purge.searchlog.day";
128
129 public static final String PURGE_USER_INFO_DAY_PROPERTY = "purge.userinfo.day";
130
131 public static final String PURGE_JOB_LOG_DAY_PROPERTY = "purge.joblog.day";
132
133 public static final String PURGE_BY_BOTS_PROPERTY = "purge.by.bots";
134
135 public static final String SEARCH_FILE_PROXY_PROPERTY = "search.file.proxy";
136
137 public static final String NOTIFICATION_TO_PROPERTY = "notification.to";
138
139 public static final String SLACK_WEBHOOK_URLS_PROPERTY = "slack.webhook.urls";
140
141 public static final String GOOGLE_CHAT_WEBHOOK_URLS_PROPERTY = "google.chat.webhook.urls";
142
143 public static final String USE_BROWSER_LOCALE_FOR_SEARCH_PROPERTY = "search.use.browser.locale";
144
145 public static final String SUGGEST_SEARCH_LOG_PROPERTY = "suggest.searchlog";
146
147 public static final String SUGGEST_DOCUMENTS_PROPERTY = "suggest.document";
148
149 public static final String PURGE_SUGGEST_SEARCH_LOG_DAY_PROPERTY = "purge.suggest.searchlog.day";
150
151 public static final String LTR_MODEL_NAME_PROPERTY = "ltr.model.name";
152
153 public static final String LTR_WINDOW_SIZE_PROPERTY = "ltr.window.size";
154
155 public static final String REQUEST_QUERIES = "fess.Queries";
156
157 public static final String HIGHLIGHT_QUERIES = "fess.HighlightQueries";
158
159 public static final String FIELD_LOGS = "fess.FieldLogs";
160
161 public static final String DEFAULT_DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
162
163 public static final String ISO_DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
164
165 public static final String DATE_OPTIONAL_TIME = "date_optional_time";
166
167 public static final int DONE_STATUS = 9999;
168
169 public static final String DEFAULT_IGNORE_FAILURE_TYPE = StringUtil.EMPTY;
170
171 public static final Integer DEFAULT_FAILURE_COUNT = -1;
172
173 public static final String DEFAULT_PURGE_DAY = "-1";
174
175 public static final String DEFAULT_SUGGEST_PURGE_DAY = "30";
176
177 public static final String DEFAULT_PURGE_BY_BOTS = "Crawler"
178 + ",crawler"
179 + ",Bot"
180 + ",bot"
181 + ",Slurp"
182 + ",Yeti"
183 + ",Baidu"
184 + ",Steeler"
185 + ",ichiro"
186 + ",hotpage"
187 + ",Feedfetcher"
188 + ",ia_archiver"
189 + ",Y!J-BRI"
190 + ",Google Desktop"
191 + ",Seznam"
192 + ",Tumblr"
193 + ",YandexBot"
194 + ",Chilkat"
195 + ",CloudFront"
196 + ",Mediapartners"
197 + ",MSIE 6";
198
199 public static final String DEFAULT_FROM_EMAIL = "Administrator <root@localhost>";
200
201
202
203 public static final String CRAWLER_STATUS = "CrawlerStatus";
204
205 public static final String CRAWLER_ERRORS = "CrawlerErrors";
206
207 public static final String CRAWLER_START_TIME = "CrawlerStartTime";
208
209 public static final String CRAWLER_END_TIME = "CrawlerEndTime";
210
211 public static final String CRAWLER_EXEC_TIME = "CrawlerExecTime";
212
213 public static final String WEB_FS_CRAWLER_START_TIME = "WebFsCrawlStartTime";
214
215 public static final String WEB_FS_CRAWLER_END_TIME = "WebFsCrawlEndTime";
216
217 public static final String DATA_CRAWLER_START_TIME = "DataCrawlStartTime";
218
219 public static final String DATA_CRAWLER_END_TIME = "DataCrawlEndTime";
220
221 public static final String WEB_FS_CRAWLING_EXEC_TIME = "WebFsCrawlExecTime";
222
223 public static final String WEB_FS_INDEX_EXEC_TIME = "WebFsIndexExecTime";
224
225 public static final String WEB_FS_INDEX_SIZE = "WebFsIndexSize";
226
227 public static final String DATA_CRAWLING_EXEC_TIME = "DataCrawlExecTime";
228
229 public static final String DATA_INDEX_EXEC_TIME = "DataIndexExecTime";
230
231 public static final String DATA_INDEX_SIZE = "DataIndexSize";
232
233 public static final String SESSION_ID = "sessionId";
234
235 public static final String CRAWLING_INFO_ID = "crawlingInfoId";
236
237 public static final String INDEXING_TARGET = "indexingTarget";
238
239 public static final String NUM_OF_THREADS = "numOfThreads";
240
241 public static final String BASIC = "BASIC";
242
243 public static final String DIGEST = "DIGEST";
244
245 public static final String NTLM = "NTLM";
246
247 public static final String FORM = "FORM";
248
249 public static final String SAMBA = "SAMBA";
250
251 public static final String FTP = "FTP";
252
253 public static final String[] RESERVED =
254 { "\\", "+", "-", "&&", "||", "!", "(", ")", "{", "}", "[", "]", "^", "~", "*", "?", ";", ":", "/" };
255
256 public static final Pattern LUCENE_FIELD_RESERVED_PATTERN = Pattern.compile("([+\\-!\\(\\){}\\[\\]^\"~\\\\:\\p{Zs}]|(&&)|(\\|\\|))");
257
258 public static final Pattern LUCENE_RANGE_FIELD_RESERVED_PATTERN = Pattern.compile("([!\\(\\){}\\[\\]\"~\\\\:\\p{Zs}]|(&&)|(\\|\\|))");
259
260 public static final String SEARCH_LOG_ACCESS_TYPE = "searchLogAccessType";
261
262 public static final String SEARCH_LOG_ACCESS_TYPE_JSON = "json";
263
264 public static final String SEARCH_LOG_ACCESS_TYPE_GSA = "gsa";
265
266 public static final String SEARCH_LOG_ACCESS_TYPE_WEB = "web";
267
268 public static final String SEARCH_LOG_ACCESS_TYPE_ADMIN = "admin";
269
270 public static final String SEARCH_LOG_ACCESS_TYPE_OTHER = "other";
271
272 public static final String RESULTS_PER_PAGE = "resultsPerPage";
273
274 public static final String USER_CODE = "userCode";
275
276 public static final String SEARCH_FIELD_LOG_SEARCH_QUERY = "q";
277
278 public static final String STATS_REPORT_TYPE = "reportType";
279
280 public static final String RESULT_DOC_ID_CACHE = "resultDocIds";
281
282 public static final String CRAWLING_INFO_SYSTEM_NAME = "system";
283
284
285
286 public static final String FACET_QUERY = "fess.FacetQuery";
287
288 public static final String GEO_QUERY = "fess.GeoQuery";
289
290 public static final String FACET_FORM = "fess.FacetForm";
291
292 public static final String GEO_FORM = "fess.GeoForm";
293
294 public static final String LABEL_VALUE_MAP = "fess.LabelValueMap";
295
296 public static final String OPTION_QUERY_Q = "q";
297
298 public static final String OPTION_QUERY_CQ = "cq";
299
300 public static final String OPTION_QUERY_OQ = "oq";
301
302 public static final String OPTION_QUERY_NQ = "nq";
303
304
305
306 public static final String SCHEDULED_JOB = "scheduledJob";
307
308 public static final String DEFAULT_JOB_TARGET = "all";
309
310 public static final String DEFAULT_JOB_SCRIPT_TYPE = "groovy";
311
312 public static final int EXIT_OK = 0;
313
314 public static final int EXIT_FAIL = 1;
315
316 public static final String DCF = "dcf";
317
318 public static final String ALL_LANGUAGES = "all";
319
320 public static final String INVALID_NUMERIC_PARAMETER = "-1";
321
322 public static final String FACET_FIELD_PREFIX = "field:";
323
324 public static final String FACET_QUERY_PREFIX = "query:";
325
326 public static final String MATCHES_ALL_QUERY = "*:*";
327
328 public static final String FESS_ES_HTTP_ADDRESS = "fess.es.http_address";
329
330 public static final int DEFAULT_PAGE_SIZE = 20;
331
332 public static final int DEFAULT_START_COUNT = 0;
333
334 public static final String PROCESS_TYPE_REPLACE = "R";
335
336 public static final String PROCESS_TYPE_CRAWLING = "C";
337
338 public static final String PROCESS_TYPE_DISPLAYING = "D";
339
340 public static final String PROCESS_TYPE_BOTH = "B";
341
342 public static final long ONE_DAY_IN_MILLIS = 24L * 60L * 60L * 1000L;
343
344 public static final String GUEST_USER = "guest";
345
346 public static final String[] PAGER_CONVERSION_RULE =
347 { "allRecordCount", "pageSize", "currentPageNumber", "allPageCount", "existPrePage", "existNextPage" };
348
349
350 public static final String WEB_CRAWLER_TYPE = "web_crawling";
351
352 public static final String FILE_CRAWLER_TYPE = "file_crawling";
353
354 public static final String DATA_CRAWLER_TYPE = "data_crawling";
355
356 public static final String[] COMMON_CONVERSION_RULE =
357 new String[] { "crudMode", "createdBy", "createdTime", "updatedBy", "updatedTime" };
358
359 public static final String[] COMMON_API_CONVERSION_RULE = new String[] { "crudMode" };
360
361 public static final String USER_INFO = "LoginInfo";
362
363 public static final String ES_API_ACCESS_TOKEN = "esApiAccessToken";
364
365 public static final String DEFAULT_FIELD = "_default";
366
367 public static final Integer DEFAULT_DAY_FOR_CLEANUP = 3;
368
369 public static final String FESS_CONF_PATH = "fess.conf.path";
370
371 public static final TimeZone TIMEZONE_UTC = TimeZone.getTimeZone("UTC");
372
373 public static final String LDAP_BASE_DN = "ldap.base.dn";
374
375 public static final String LDAP_SECURITY_PRINCIPAL = "ldap.security.principal";
376
377 public static final String LDAP_ADMIN_SECURITY_PRINCIPAL = "ldap.admin.security.principal";
378
379 public static final String LDAP_ADMIN_SECURITY_CREDENTIALS = "ldap.admin.security.credentials";
380
381 public static final String LDAP_PROVIDER_URL = "ldap.provider.url";
382
383 public static final String LDAP_SECURITY_AUTHENTICATION = "ldap.security.authentication";
384
385 public static final String LDAP_INITIAL_CONTEXT_FACTORY = "ldap.initial.context.factory";
386
387 public static final String LDAP_ACCOUNT_FILTER = "ldap.account.filter";
388
389 public static final String LDAP_GROUP_FILTER = "ldap.group.filter";
390
391 public static final String LDAP_MEMBEROF_ATTRIBUTE = "ldap.memberof.attribute";
392
393 public static final String NOTIFICATION_LOGIN = "notification.login";
394
395 public static final String NOTIFICATION_SEARCH_TOP = "notification.search.top";
396
397 public static final String NOTIFICATION_ADVANCE_SEARCH = "notification.advance.search";
398
399 public static final String STORAGE_ENDPOINT = "storage.endpoint";
400
401 public static final String STORAGE_ACCESS_KEY = "storage.accesskey";
402
403 public static final String STORAGE_SECRET_KEY = "storage.secretkey";
404
405 public static final String STORAGE_BUCKET = "storage.bucket";
406
407 public static final String MAPPING_TYPE_ARRAY = "array";
408
409 public static final String MAPPING_TYPE_STRING = "string";
410
411 public static final String MAPPING_TYPE_LONG = "long";
412
413 public static final String MAPPING_TYPE_DOUBLE = "double";
414
415 public static final String MAPPING_TYPE_DATE = "date";
416
417 public static final String MAPPING_TYPE_PDF_DATE = "pdf_date";
418
419 public static final String PAGING_QUERY_LIST = "pagingQueryList";
420
421 public static final String REQUEST_LANGUAGES = "requestLanguages";
422
423 public static final String SEARCH_PREFERENCE_LOCAL = "_local";
424
425 public static final String GSA_API_VERSION = "3.2";
426
427 public static final String PERMISSIONS = "permissions";
428
429 public static final String QUERIES = "queries";
430
431 public static final String VIRTUAL_HOSTS = "virtualHosts";
432
433 public static final String CIPHER_PREFIX = "{cipher}";
434
435 public static final String SYSTEM_USER = "system";
436
437 public static final String EMPTY_USER_ID = "<empty>";
438
439 public static final String CRAWLER_PROCESS_COMMAND_THREAD_DUMP = "thread_dump";
440
441 public static final String FESS_THUMBNAIL_PATH = "fess.thumbnail.path";
442
443 public static final String FESS_VAR_PATH = "fess.var.path";
444
445 public static final String FESS_LOG_LEVEL = "fess.log.level";
446
447 public static final String TRACK_TOTAL_HITS = "track_total_hits";
448
449 public static final String SYSTEM_PROP_PREFIX = "fess.system.";
450
451 public static final String FESS_CONFIG_PREFIX = "fess.config.";
452
453 public static final String XERCES_FEATURE_PREFIX = "http://apache.org/xml/features/";
454
455 public static final String LOAD_EXTERNAL_DTD_FEATURE = "nonvalidating/load-external-dtd";
456
457 public static final String FESEN_TYPE_CLOUD = "cloud";
458
459 public static final String FESEN_TYPE_AWS = "aws";
460
461 public static final String FESEN_USERNAME = "fesen.username";
462
463 public static final String FESEN_PASSWORD = "fesen.password";
464
465 public static final String EXECUTE_TYPE_CRAWLER = "crawler";
466
467 public static final String EXECUTE_TYPE_THUMBNAIL = "thumbnail";
468
469 public static final String EXECUTE_TYPE_PYTHON = "python";
470
471 public static final String EXECUTE_TYPE_SUGGEST = "suggest";
472
473 public static final String DEFAULT_SCRIPT = "groovy";
474
475 public static final String TEXT_FRAGMENTS = "text_fragments";
476
477 public static final String TEXT_FRAGMENT_TYPE_QUERY = "query";
478
479 public static final String TEXT_FRAGMENT_TYPE_HIGHLIGHT = "highlight";
480
481 }