跳至主要内容

udata搜索服务

项目描述

udata-search-service

udata的搜索服务。想法是将搜索服务从udata MongoDB中分离出来。使用实时HTTP消息进行索引更新。

参见以下架构图:Udata Search Service架构图

入门

您可以根据以下推荐架构来编写代码

$WORKSPACE
├── fs
├── udata
│   ├── ...
│   └── setup.py
│		└── udata.cfg
├── udata-front
│   ├── ...
│   └── setup.py
└── udata-search-service
    ├── ...
    └── pyproject.toml

克隆仓库

cd $WORKSPACE
git clone git@github.com:opendatateam/udata-search-service.git

使用docker-compose启动不同的服务

cd udata-search-service
docker-compose up

这将启动

  • 一个elasticsearch
  • 一个搜索应用

在设置时初始化elasticsearch索引。

# Locally
udata-search-service init-es

# In the docker context
docker-compose run --entrypoint /bin/bash web -c 'udata-search-service init-es'

这将创建以下索引

  • {UDATA_INSTANCE_NAME}-dataset-{yyyy}-{mm}-{dd}-{HH}-{MM}
  • {UDATA_INSTANCE_NAME}-reuse-{yyyy}-{mm}-{dd}-{HH}-{MM}
  • {UDATA_INSTANCE_NAME}-organization-{yyyy}-{mm}-{dd}-{HH}-{MM}

通过在您的udata.cfg中更新以下变量来配置您的udata以使用搜索服务,例如在本地

    SEARCH_SERVICE_API_URL = 'http://127.0.0.1:5000/api/1/'

使用udata,当您修改对象时,索引消息将被发送到搜索应用,并由API消费。如果您想在udata中重新索引本地mongo基础,可以运行

cd $WORKSPACE/udata/
source ./venv/bin/activate
udata search index

请确保在您的udata设置中指定了相应的UDATA_INSTANCE_NAME。

重新索引后,您需要使用以下命令更改别名

# Locally
udata-search-service set-alias <index-suffix>

# In the docker context
docker-compose run --entrypoint /bin/bash web -c 'udata-search-service set-alias <index-suffix>'

您可以使用搜索服务API查询搜索服务,例如:http://localhost:5000/api/1/datasets/?q=toilettes%20à%20rennes

开发

您可以使用以下命令创建虚拟环境,激活它并安装需求。

python3 -m venv venv
source venv/bin/activate
make deps
make install

您可以使用以下命令启动网络搜索服务:

udata-search-service run

部署

本项目依赖ElasticSearch 7.16版本。

Elasticsearch需要为您的特定版本安装Analysis ICU插件。在Debian上,您可以参考以下安装说明

故障排除

  • 如果Elasticsearch服务因内存不足错误而退出并显示错误码137,则表示被杀。您应阅读以下要点。
  • 如果您RAM不足,可以在启动Elasticsearch服务时将环境变量设置为ES_JAVA_OPTS=-Xms750m -Xmx750m来限制堆内存。
  • 如果您使用MAC并且仍然遇到RAM内存问题,应将Docker内存限制增加到4GB,而不是默认的2GB。
  • 如果您使用Linux,可能需要将vm.max_map_count加倍。您可以使用以下命令设置它:sysctl -w vm.max_map_count=262144
  • 如果您使用Linux,可能会遇到权限问题。您可以选择创建卷或使用chown更改用户为当前用户。

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

udata_search_service-2.0.2.tar.gz (42.1 kB 查看哈希值)

上传时间

构建分发

udata_search_service-2.0.2-py2.py3-none-any.whl (18.3 kB 查看哈希值)

上传时间 Python 2 Python 3

由支持