udata搜索服务
项目描述
udata-search-service
udata的搜索服务。想法是将搜索服务从udata MongoDB中分离出来。使用实时HTTP消息进行索引更新。
参见以下架构图:
入门
您可以根据以下推荐架构来编写代码
$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
更改用户为当前用户。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
udata_search_service-2.0.2.tar.gz (42.1 kB 查看哈希值)
构建分发
关闭
udata_search_service-2.0.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7a0c25fc27a01c9c27cd69d95af2157bd1db2c6e891a31c7d263d3e04de85134 |
|
MD5 | 702ac930b35ec47ed4f14ca5521881a7 |
|
BLAKE2b-256 | 0589ac3c757fe5a7cc1e3382a82d554fa0f561f471cfcd09f7775b91e013bd4c |
关闭
udata_search_service-2.0.2-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2706a67b2589d776ea62942d807f57dd2f4367378b85ed7c770897dfbe47b47e |
|
MD5 | 7e3c0a937444bcfc12de845d621901a0 |
|
BLAKE2b-256 | ca454cabb7cd4ac0a6e53a7c421620cca0dc2a724c23d49e3e1ed72d31cb96d1 |