Environment Variables

We prefer environment variables for configuration as opposed to configuration files or command line options as its easier to provide environment variables in a containerized environment as well as local setup.

Environment Variable Default Value Mandatory Description
ZINC_FIRST_ADMIN_USER - On first run First admin user of ZincSearch. Not required after first run of ZincSearch.
ZINC_FIRST_ADMIN_PASSWORD - On first run Password for first admin user
ZINC_SERVER_ADDRESS No ZincSearch server IP address to bind to
ZINC_SERVER_PORT 4080 No ZincSearch server listen http port
GIN_MODE - No if the value is release then gin will run in production mode.
ZINC_DATA_PATH ./data No Defaults to "data" folder in current working directory if not provided.
ZINC_ICE_COMPRESSOR zstd No Algorithm of compress segment file, default is: zstd, supports: snappy, s2, zstd
ZINC_MAX_RESULTS 100 No Maximum results to be returned from server. Defaults to 100
ZINC_BATCH_SIZE 1024 No Internal batch size for batching records when bulk indexing is done.
ZINC_AGGREGATION_TERMS_SIZE 1000 No terms aggregation returns max bucket size
ZINC_SHARD_NUM 3 No We use shards to improve performance
ZINC_SHARD_MAX_SIZE 1073741824 No We use multiple backend indexes for one big index, limit one shard size default is 1GB
ZINC_READ_GORUTINE_NUM 10 No control parallelsim thread num for shard reads
ZINC_TELEMETRY true No Send anonymous telemetry info for improving ZincSearch. enabled or disabled.
ZINC_SENTRY true No Send anonymous error reports for debugging
ZINC_SENTRY_DSN - No Entry DNS, default is: https://15b6d9b8be824b44896f32b0234c32b7@o1218932.ingest.sentry.io/6360942
ZINC_PROMETHEUS_ENABLE false No Enables prometheus metrics on /metrics endpoint
ZINC_PLUGIN_ES_VERSION - No es version, for compatible elasticsearch
ZINC_PLUGIN_GSE_ENABLE false No plugin, GSE support Chinese analysis
ZINC_PLUGIN_GSE_ENABLE_HMM true No plugin, GSE analyzer default enable HMM for search, you can disable it.
ZINC_PLUGIN_GSE_ENABLE_STOP true No plugin, GSE analyzer default load stop dictionary, you can disable it.
ZINC_PLUGIN_GSE_DICT_EMBED small No plugin, GSE which size dict need to load, small or big
ZINC_PLUGIN_GSE_DICT_PATH ./plugins/gse/dict No plugin, GSE where to load user custom dictionary
ZINC_PROFILER false No Default is false, ZinCsearch uses pyroscope server to profiling
ZINC_PROFILER_SERVER - No default pyroscope server is: https://pyroscope.dev.zincsearch.com
ZINC_PROFILER_API_KEY - No pyroscope server api key
ZINC_PROFILER_FRIENDLY_PROFILE_ID - No pyroscope identifier id, example: zinc-alex
ZINC_ENABLE_TEXT_KEYWORD_MAPPING false No create a keyword field for text field. named field.keyword
ZINC_SWAGGER_ENABLE true No Default is true, Enable swagger api document
ZINC_WAL_SYNC_INTERVAL 1s No ZinCsearch uses WAL to ensure no loss data, and asynchorous write to backend index. defaults every 1s sync to storage
ZINC_WAL_REDOLOG_NO_SYNC false No ZinCsearch uses REDO log to ensure asynchorous is correct, but redo log do a sync to disk every time, we can disable SYNC to have better performance, but it has a risk duplicated documents with a ZINC_BATCH_SIZE