相对于配置文件或命令行选项,我们更喜欢用环境变量进行配置,因为在容器化环境中提供环境变量或者在本地设置环境变量都比较容易。

    环境变量 默认值 是否必填 描述
    ZINC_FIRST_ADMIN_USER - 首次运行时 ZincSearch的第一个管理员用户。第一次运行ZincSearch后不需要。
    ZINC_FIRST_ADMIN_PASSWORD - 首次运行时 第一个管理用户的密码
    ZINC_SERVER_ADDRESS 0.0.0.0 No ZincSearch服务器的IP地址
    ZINC_SERVER_PORT 4080 No ZincSearch服务器监听的 http 端口
    GIN_MODE - No 如果该值为release,那么gin将以生产模式运行。
    ZINC_DATA_PATH ./data No 如果没有提供,则默认为当前工作目录下的 “data “文件夹。
    ZINC_ICE_COMPRESSOR zstd No 压缩段文件的算法,默认为:zstd,支持:snappy、s2、zstd
    ZINC_S3_BUCKET - No (已废弃)用于索引存储的S3桶
    ZINC_MINIO_ENDPOINT - No (已废弃) MinIO 服务器端点,如 localhost:9000
    ZINC_MINIO_ACCESS_KEY_ID - No (已废弃) MinIO ACCESS_KEY_ID
    ZINC_MINIO_SECRET_ACCESS_KEY - No (已废弃) MinIO SECRET_ACCESS_KEY
    ZINC_MINIO_BUCKET - No (已废弃) 用于索引存储的 MinIO bucket
    ZINC_MAX_RESULTS 100 No 从服务器返回的最大结果。默认为1000
    ZINC_BATCH_SIZE 1024 No 在进行批量索引时,用于批处理记录的内部批次大小。
    ZINC_AGGREGATION_TERMS_SIZE 1000 No terms 汇总返回时的最大桶的大小
    ZINC_SHARD_NUM 3 No 我们使用分片来提高性能
    ZINC_SHARD_MAX_SIZE 1073741824 No 我们为一个大索引使用多个后端索引,一个分片的大小默认为1GB。
    ZINC_READ_GORUTINE_NUM 10 No 控制分片读取的最大线程数量
    ZINC_TELEMETRY true No 发送匿名的遥测信息以改进ZincSearch。开启或者禁用
    ZINC_SENTRY true No 发送匿名错误报告以进行调试
    ZINC_SENTRY_DSN - No 输入DNS,默认为:https://15b6d9b8be824b44896f32b0234c32b7@o1218932.ingest.sentry.io/6360942
    ZINC_PROMETHEUS_ENABLE false No 在/metrics 端点上启用 prometheus 指标
    ZINC_PLUGIN_ES_VERSION - No elasticsearch 版本,为了兼容 ElasticSearch
    ZINC_PLUGIN_GSE_ENABLE false No 插件, GSE 支持中文分析
    ZINC_PLUGIN_GSE_DICT_EMBED small No 插件, GSE需要装载哪种尺寸的Dict,small 或者 big
    ZINC_PLUGIN_GSE_DICT_PATH ./plugins/gse/dict No 插件, GSE 从哪里加载自定义词典
    ZINC_PROFILER false No 默认值为 false, ZincObserve 使用 Pyroscope 服务器进行性能剖析
    ZINC_PROFILER_SERVER - No 默认的 pyroscope 服务器是: https://pyroscope.dev.zincsearch.com
    ZINC_PROFILER_API_KEY - No pyroscope 服务器 api key
    ZINC_PROFILER_FRIENDLY_PROFILE_ID - No pyroscope 身份 ID, 例如: zinc-alex
    ZINC_ENABLE_TEXT_KEYWORD_MAPPING false No 为文本字段创建一个关键词字段,命名为field.keyword。
    ZINC_WAL_SYNC_INTERVAL 1s No ZincObserve 使用WAL 来确保数据不丢失,并以异步方式写入后端索引,默认每1秒同步一次到存储中。
    ZINC_WAL_REDOLOG_NO_SYNC false No ZincObserve 使用 REDO 日志来确保异步操作是正确的,但是 redo 日志每次都要同步到磁盘,我们可以禁用 SYNC 来获得更好的性能,但是这样有一个风险,可能会出现重复的文档,这取决于 ZINC_BATCH_SIZE 的值。