当前位置: 首页 > news >正文

开源数据发现平台:Amundsen Search Service 搜索服务

在这里插入图片描述

Amundsen 是一个数据发现和元数据引擎,旨在提高数据分析师、数据科学家和工程师与数据交互时的生产力。目前,它通过索引数据资源(表格、仪表板、数据流等)并基于使用模式(例如,查询频率高的表格会优先于查询频率低的表格)提供页面排名式的搜索功能来实现这一目标。您可以将其视为数据版的 Google 搜索。该项目以挪威探险家罗尔德·阿蒙森 (Roald Amundsen) 的名字命名,他是第一个发现南极的人。

Amundsen Search Service

Amundsen 搜索服务

搜索和文档更新的最新端点是 /v2/search/v2/document。此 API 仅可与代理类 ElaticsearchProxyV2_1 配合使用。请参考此搜索服务更新文档了解最新变更。

Amundsen 搜索服务提供 RESTful API,负责元数据搜索功能。该服务主要利用 Elasticsearch 实现搜索能力。

默认搜索以下四个索引:

  • table_search_index_v2_1
  • user_search_index_v2_1
  • dashboard_search_index_v2_1
  • feature_search_index_v2_1

有关 Amundsen 及其他服务的信息,请参阅README.md。另请查看我们的快速入门指南(含虚拟数据设置)和架构概览。

要求

  • Python >= 3.8
  • Elasticsearch 支持版本:
    • 7.x
    • 8.0.0

文档

  • https://www.amundsen.io/amundsen

从发行版启动搜索服务

$ venv_path=[虚拟环境路径]
$ python3 -m venv $venv_path
$ source $venv_path/bin/activate
$ python3 setup.py install
$ python3 search_service/search_wsgi.py# 另启终端验证服务状态:
$ curl -v http://localhost:5001/healthcheck

从源码启动搜索服务

$ git clone https://github.com/amundsen-io/amundsen.git
$ cd search
$ venv_path=[虚拟环境路径]
$ python3 -m venv $venv_path
$ source $venv_path/bin/activate
$ pip3 install -e ".[all]" .
$ python3 search_service/search_wsgi.py# 另启终端验证服务状态:
$ curl -v http://localhost:5001/healthcheck

通过 Docker 启动服务

$ docker pull amundsendev/amundsen-search:latest
$ docker run -p 5001:5001 amundsendev/amundsen-search
# 生产环境替代方案(使用 Gunicorn):
$ ## docker run -p 5001:5001 amundsendev/amundsen-search gunicorn --bind 0.0.0.0:5001 search_service.search_wsgi# 另启终端验证服务状态:
$ curl -v http://localhost:5001/healthcheck

生产环境

默认 Flask 使用 Werkzeug 开发服务器,生产环境应使用 Gunicorn 等生产级服务器。

$ pip3 install gunicorn
$ gunicorn search_service.search_wsgi# 另启终端验证服务状态:
$ curl -v http://localhost:8000/healthcheck

更多配置详见Gunicorn 文档。

非本地环境配置

默认搜索服务使用LocalConfig连接本地 Elasticsearch。如需使用其他终端节点,需创建自定义Config类,并通过环境变量:SEARCH_SVC_CONFIG_MODULE_CLASS引用。

例如创建生产环境配置:

  1. 继承 Config 类创建 ProdConfig
  2. 置于 search_service.config 模块
  3. 设置环境变量:
    SEARCH_SVC_CONFIG_MODULE_CLASS=search_service.config.ProdConfig

更多配置加载机制参见 Flask 文档。

开发者指南

代码规范

  • PEP 8:遵循 Python 代码风格指南

  • 类型提示:使用类型标注增强可读性

API 文档

基于 OpenApi 3.0.2 的 Swagger 文档通过 Flasgger 生成。API 变更时请同步更新文档。访问 localhost:5001/apidocs/ 查看文档(当前仅支持本地配置环境)。

风险提示与免责声明
本文内容基于公开信息研究整理,不构成任何形式的投资建议。历史表现不应作为未来收益保证,市场存在不可预见的波动风险。投资者需结合自身财务状况及风险承受能力独立决策,并自行承担交易结果。作者及发布方不对任何依据本文操作导致的损失承担法律责任。市场有风险,投资须谨慎。

http://www.lryc.cn/news/623843.html

相关文章:

  • Python注解
  • 零墨云A4mini打印机设置电脑通过局域网络进行打印
  • C#对象的本地保存与序列化详解笔记
  • GitLab CI/CD、Jenkins与GitHub Actions在Kubernetes环境中的方案对比分析
  • 【Golang】:错误处理
  • 任务型Agent架构简介
  • Visual Studio Code 基础设置指南
  • 【R语言】R 语言中打印含有双引号的字符串时会出现 “\” 的原因解析
  • GaussDB常用术语缩写及释义
  • 路由器配置之模式
  • 4.Ansible自动化之-部署文件到主机
  • nodejs 中间件
  • gitee 流水线+docker-compose部署 nodejs服务+mysql+redis
  • 【计算机网络面试】TCP/IP网络模型有哪几层
  • Matlab数字信号处理——基于最小均方误差(MMSE)估计的自适应脉冲压缩算法复现
  • ThinkPHP8学习篇(三):控制器
  • 7.Ansible自动化之-实施任务控制
  • 最优化:建模、算法与理论|02 Optimization Modeling and Typical Examples(1)
  • [优选算法专题二滑动窗口——将x减到0的最小操作数]
  • 【adb端口5555】烽火hg680-gy_烽火hg680-gc安卓9线刷烧录包 解决用一段时间就提示升级的问题
  • Shell脚本-for循环语法结构
  • 【前端基础】19、CSS的flex布局
  • 蓝凌EKP产品:JSP 性能优化和 JSTL/EL要点检查列表
  • rt-thread audio框架移植stm32 adc+dac,用wavplayer录音和播放
  • 【从零开始学习Redis】项目实战-黑马点评D2
  • scikit-learn/sklearn学习|多任务套索回归MultiTaskLasso解读
  • Windows_Server软件定义网络架构
  • 【Linux系列】如何在 Linux 服务器上快速获取公网
  • 每日两道算法题:DAY3
  • uniappx 安卓端本地打包的一些总结