/** * This software is licensed to you under the Apache License, Version 2.0 (the * "Apache License"). * * LinkedIn's contributions are made under the Apache License. If you contribute * to the Software, the contributions will be deemed to have been made under the * Apache License, unless you expressly indicate otherwise. Please do not make any * contributions that would be inconsistent with the Apache License. * * You may obtain a copy of the Apache License at http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, this software * distributed under the Apache License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Apache * License for the specific language governing permissions and limitations for the * software governed under the Apache License. * * © 2012 LinkedIn Corp. All Rights Reserved. */ package com.senseidb.conf; import java.util.Comparator; public interface SenseiConfParams { public static final String NODE_ID = "sensei.node.id"; public static final String PARTITIONS = "sensei.node.partitions"; public static final String SERVER_PORT = "sensei.server.port"; public static final String SERVER_REQ_THREAD_POOL_SIZE = "sensei.server.requestThreadCorePoolSize"; public static final String SERVER_REQ_THREAD_POOL_MAXSIZE = "sensei.server.requestThreadMaxPoolSize"; public static final String SERVER_REQ_THREAD_POOL_KEEPALIVE = "sensei.server.requestThreadKeepAliveTimeSecs"; public static final String SENSEI_CLUSTER_CLIENT_NAME = "sensei.cluster.client-name"; public static final String SENSEI_CLUSTER_NAME = "sensei.cluster.name"; public static final String SENSEI_CLUSTER_URL = "sensei.cluster.url"; public static final String SENSEI_CLUSTER_TIMEOUT = "sensei.cluster.timeout"; public static final String SENSEI_INDEX_DIR = "sensei.index.directory"; public static final String SENSEI_FEDERATED_BROKER = "sensei.federated.broker"; public static final String SENSEI_FEDERATED_BROKER_PRUNER = "sensei.federated.broker.pruner"; public static final String SENSEI_INDEX_BATCH_SIZE = "sensei.index.batchSize"; public static final String SENSEI_INDEX_BATCH_DELAY = "sensei.index.batchDelay"; public static final String SENSEI_INDEX_MAX_RAM_SEGMENT_SIZE = "sensei.index.maxRamSegmentSize"; public static final String SENSEI_INDEX_MAX_TOTAL_WEIGHT = "sensei.index.maxTotalWeight"; public static final String SENSEI_INDEX_BATCH_MAXSIZE = "sensei.index.maxBatchSize"; public static final String SENSEI_INDEX_REALTIME = "sensei.index.realtime"; public static final String SENSEI_INDEX_OPTIMIZE_SCHEDULER = "sensei.index.optimizeScheduler"; public static final String SENSEI_INDEX_FRESHNESS = "sensei.index.freshness"; public static final String SENSEI_SKIP_BAD_RECORDS = "sensei.index.skipBadRecords"; public static final String SENSEI_INDEXER_MODE = "sensei.indexer.mode"; public static final String SENSEI_INDEXER_TYPE = "sensei.indexer.type"; public static final String SENSEI_INDEXER_TYPE_HOURGLASS = "hourglass"; public static final String SENSEI_INDEXER_TYPE_ZOIE = "zoie"; public static final String SENSEI_INDEXER_COPIER = "sensei.indexer.copier"; public static final String SENSEI_INDEXER_COPIER_HDFS = "hdfs"; public static final String SENSEI_INDEX_ANALYZER = "sensei.index.analyzer"; public static final String SENSEI_INDEX_SIMILARITY = "sensei.index.similarity"; public static final String SENSEI_INDEX_INTERPRETER = "sensei.index.interpreter"; public static final String SENSEI_INDEX_CUSTOM = "sensei.index.custom"; public static final String SENSEI_QUERY_BUILDER_FACTORY = "sensei.query.builder.factory"; public static final String SENSEI_SHARDING_STRATEGY = "sensei.sharding.strategy"; public static final String SENSEI_INDEX_MANAGER = "sensei.index.manager"; public static final String SENSEI_INDEX_MANAGER_FILTER = "sensei.index.manager.filter"; public static final String SENSEI_GATEWAY = "sensei.gateway"; public static final String SENSEI_VERSION_COMPARATOR = "sensei.version.comparator"; public static final String SENSEI_PLUGIN_SVCS = "sensei.plugin.services"; public static final String SENSEI_HOURGLASS_SCHEDULE = "sensei.indexer.hourglass.schedule"; public static final String SENSEI_HOURGLASS_TRIMTHRESHOLD = "sensei.indexer.hourglass.trimthreshold"; public static final String SENSEI_HOURGLASS_FREQUENCY = "sensei.indexer.hourglass.frequency"; public static final String SENSEI_HOURGLASS_APPENDONLY = "sensei.indexer.hourglass.appendonly"; public static final String SENSEI_HOURGLASS_FREQUENCY_MIN = "minute"; public static final String SENSEI_HOURGLASS_FREQUENCY_HOUR = "hour"; public static final String SENSEI_HOURGLASS_FREQUENCY_DAY = "day"; public static final String SERVER_BROKER_PORT = "sensei.broker.port"; public static final String SERVER_BROKER_WEBAPP_PATH = "sensei.broker.webapp.path"; public static final String SERVER_BROKER_MINTHREAD = "sensei.broker.minThread"; public static final String SERVER_BROKER_MAXTHREAD = "sensei.broker.maxThread"; public static final String SERVER_BROKER_MAXWAIT = "sensei.broker.maxWaittime"; public static final String SERVER_BROKER_TIMEOUT = "sensei.broker.timeout"; public static final String ALLOW_PARTIAL_MERGE = "sensei.broker.allowPartialMerge"; public static final String SERVER_BROKER_REQUEST_CUSTOMIZER_FACTORY = "sensei.broker.request.customizer.factory"; public static final String SENSEI_BROKER_POLL_INTERVAL = "sensei.broker.pollInterval"; public static final String SENSEI_BROKER_MIN_RESPONSES = "sensei.broker.minResponses"; public static final String SENSEI_BROKER_MAX_TOTAL_WAIT = "sensei.broker.maxTotalWait"; public static final String SENSEI_ACTIVITY_CONFIG = "sensei.activity.config"; public static final String SERVER_SERVLET_CLASS = "sensei.servlet.class"; public static final String SERVER_SEARCH_ROUTER_FACTORY = "sensei.search.router.factory"; public static final String SENSEI_SEARCH_SERIALIZER = "sensei.search.serializer"; public static final String SENSEI_SEARCH_INVERTED_INDEX_PENALTY = "sensei.search.inverted.penalty"; public static final String SENSEI_INDEX_PRUNER = "sensei.index.pruner"; public static final String SENSEI_ZOIE_RETENTION_DAYS = "sensei.indexing.retention.days"; public static final String SENSEI_ZOIE_RETENTION_CLASS = "sensei.indexing.retention"; // An alternative to the sensei.zoie.retention configuration where you need a more advanced retention policy public static final String SENSEI_ZOIE_RETENTION_FILTER = "sensei.indexing.retention.filter"; public static final String SENSEI_ZOIE_RETENTION_DELETIONS_BEFORE_OPTIMIZE = "sensei.indexing.retention.optimize.deletions"; public static final String SENSEI_ZOIE_RETENTION_PURGE_PERIOD = "sensei.indexing.retention.purge.period"; public static final String SENSEI_ZOIE_RETENTION_COLUMN = "sensei.indexing.retention.column"; public static final String SENSEI_ZOIE_RETENTION_TIMEUNIT = "sensei.index.retention.column.timeunit"; public static final String SENSEI_MX4J_PORT = "sensei.mx4j.port"; public static final String SENSEI_INDEX_ACTIVITY_FILTER = "sensei.index.activity.filter"; public static final String SENSEI_INDEX_ACTIVITY_PURGE_FREQUENCY_HOURS = "sensei.index.activity.purge.hours"; public static final String SENSEI_INDEX_ACTIVITY_PURGE_FREQUENCY_MINUTES = "sensei.index.activity.purge.minutes"; public static final String SENSEI_SHUTDOWN_WAIT_FOR_CLIENT_MILLIS = "sensei.shutdown.wait.millis"; public static final Comparator<String> DEFAULT_VERSION_STRING_COMPARATOR = new Comparator<String>() { @Override public int compare(String o1, String o2) { if (o1 == null && o2 == null) { return 0; } if (o1 == null) return -1; if (o2 == null) return 1; return o1.compareTo(o2); } }; public static final Comparator<String> DEFAULT_VERSION_LONG_COMPARATOR = new Comparator<String>() { @Override public int compare(String o1, String o2) { long l1, l2; if (o1 == null || o1.length() == 0) { l1 = 0L; } else { l1 = Long.parseLong(o1); } if (o2 == null || o2.length() == 0) { l2 = 0L; } else { l2 = Long.parseLong(o2); } return Long.valueOf(l1).compareTo(Long.valueOf(l2)); } }; }