执行以下命令安装Python3.9、Git、Curl等核心工具:
``` sudo yum install -y python39 python39-devel git curl ```虚拟环境避免依赖冲突,隔离项目运行空间:
``` python3.9 -m venv gas_archive_env source gas_archive_env/bin/activate pip install --upgrade pip ```执行官方命令安装ES并开启服务:
``` sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo yum install -y elasticsearch sudo systemctl daemon-reload sudo systemctl start elasticsearch sudo systemctl enable elasticsearch ```必须修改ES配置允许外部访问,否则后续API无法调用,打开配置文件:
``` sudo vi /etc/elasticsearch/elasticsearch.yml ```修改以下两行后保存,再重启ES:
``` network.host: 0.0.0.0 http.port: 9200 ``` ``` sudo systemctl restart elasticsearch ```验证ES是否正常:执行curl http://localhost:9200,输出含"version"字段即为成功。
使用开源简化版天然气档案项目,执行以下命令:
``` git clone https://github.com/tech-expert/gas-digital-archive.git cd gas-digital-archive pip install django elasticsearch-dsl djangorestframework ```
编辑项目主配置文件gas_archive/settings.py,替换为完整可复制内容:
执行迁移命令创建数据库,再创建后台管理账号:
``` python manage.py migrate python manage.py createsuperuser 按提示输入用户名、邮箱、密码 ```新建gas_pipe.csv,写入示例管线档案数据:
项目内置CSV导入命令,运行:
``` python manage.py import_gas_data --file=gas_pipe.csv ```启动服务:python manage.py runserver 0.0.0.0:8000,在新终端执行检索请求:
返回结果将包含P001管线的所有信息,验证成功。
1.后台管理:打开浏览器输入http://服务器IP:8000/admin,用超级用户账号登录,可新增、修改、删除天然气档案;2.检索优化:如需调整匹配规则,可修改archives/models.py中的ES查询条件;3.生产部署:需将DEBUG设为False,更换为PostgreSQL数据库,并配置Nginx反向代理。