ESQL配置

UWSGI配置

conf/uwsgi.ini

[uwsgi]
http-socket = :8001         ; esql服务端口号
processes = 5               ; 开启进程数
threads = 5                 ; 每个进程开启的线程数
chdir = websql
module = eweb:app
daemonize = log/uwsgi.log   ; uwsgi 日志路径

ESql配置

conf/esql.yml

!!! 生产环境中必须修改系统主密钥: secret_key (在「API接口相关设置」中)!!!

ElasticSearch 服务配置:

elastic: {
  # ES 服务器版本    1.x 或 2.x   这里的x不能换成具体的版本数字
  version: 2.x,
  # ES 服务器集群
  hosts: [
    {
      host: 10.68.23.85,
      port: 9200
    },
    {
      host: 10.68.23.86,
      port: 9200
    }
  ]
}

特性相关设置:

feature: {
  # string字段默认是否分词   false: 不分词,   true: 分词 (不指定时, 使用 ES 配置的默认分词器)
  string_analyzed_default: false,
  # 默认是否搜索该字段的所有类型的分词   false: 不指定分词器时只搜索字段      true:   不指定分词时也搜索该字段的所有分词
  # !!!注意 !!! 开启该选项会导致 OBJECT 和 FILE 字段的部分查询功能无法使用( = 匹配)
  query_all_analyzer_default: false,
  # 对不使用 limit 的查询, 能够获取的最大记录数 (比如 get meta), 超出时: 超出部分数据不会返回, 并且返回 state 为 DataMaxSizeOverstep
  result_data_max_size: 102400,
  # 删除记录方式        disable: 不支持删除记录    single(默认): 支持删除记录(只能单条)    batch: 支持根据 WHERE 条件批量删除
  record_delete_mode: batch,
  # 请求超时设置(单位秒), 除了默认设置(default), 还可以为 select、scan、scroll、bulk、flush、create_table、...进行单独设置
  request_timeout: {
    default: 120,
    bulk: 30,
    select: 300,
    scan: 300,
    scroll: 300,
  },
}

权限相关设置:

acl: {
  # 是否开启认证, false: 免认证
  need_auth: true,
  # 是否允许 root 帐号在远程主机(非本机)访问 ESql
  root_allow_remote: true,
  # 是否开启红名单, false: 不开启(默认)     true: 开启(需要设置 need_auth 为 true)
  # 开启红名单后,往名单中添加信息(如身份证号)。查询时记录中包含这些信息,则该记录所以字段都会被马赛克(换成*号显示)
  redkeys:  false
}

API接口相关设置:

api: {
  debug: false,
  # Session 加密密钥, 涉及系统安全, 部署时请务必更改
  secret_key: 'jmN]LyX HHWR8j/3R7dZrTB0~X!8j !!! please change it !!! jmN]LyX HHWR8j/3R7dZrTB0~X!8j',
  # Session(用户登录后的)过期时间, 单位分钟
  session_lifetime: 300,
}

用户权限数据库设置:

database: {
  dbms: lite,   # 默认使用的是内置的sqlite数据库,也可配置为其它关系型数据库(如MySQL、PostgreSQL)
  database: db/esql.dat
}

文件检索相关配置(文件存储路径):

file_server: {
  # 文件服务器类型   local: ESql服务器硬盘
  type: local,
  # 目录地址, type为local时必须指定(使用相对路径时,当前目录为esql安装目录)
  path: files/
}

解释器配置:

parser: {
  debug: false,     # 调试模式
  optimize: false   # 性能优化
}

日志配置

ElasticSearch初始化

如果需要使用系统元数据(meta)或开启红名单功能,需要在ESql终端中执行如需SQL。

-- 元数据管理
-- DROP TABLE sys_meta;

CREATE TABLE sys_meta.base(
  'index' STRING {index=not_analyzed},
  'type' STRING {index=not_analyzed},
  'field' STRING {index=not_analyzed},
  zh STRING {index=not_analyzed},
  cc STRING {index=not_analyzed},
  timestamp DATE {format=dateOptionalTime},
  timestamp2 DOUBLE
);

-- 红名单功能
-- DROP TABLE redkeys;

CREATE TABLE redkeys.base(
  secret_key STRING {index=not_analyzed}
);