elasticsearch,django-models,django-signals,Python,Django,elasticsearch,Django Models,Django Signals" /> elasticsearch,django-models,django-signals,Python,Django,elasticsearch,Django Models,Django Signals" />

Python 将数据库内容索引到弹性搜索

Python 将数据库内容索引到弹性搜索,python,django,elasticsearch,django-models,django-signals,Python,Django,elasticsearch,Django Models,Django Signals,大家好,我正在做一个Django项目,后端数据库是PostgreSQL服务器。我选择了elasticsearch作为我项目的搜索引擎 我使用了elasticsearch dsl py来创建Django模型和elasticsearchdoc类型之间的映射。并使用Django信号捕获更新和删除事件 顺便说一下,我还没有将Django模型中的所有字段映射到弹性搜索 当用户搜索时,他/她从elastic search server获得主页上的项目列表。当用户单击项目列表时。在elastic\u搜索服务器

大家好,我正在做一个Django项目,后端数据库是PostgreSQL服务器。我选择了
elasticsearch
作为我项目的搜索引擎

我使用了
elasticsearch dsl py
来创建Django模型和
elasticsearch
doc类型之间的映射。并使用
Django信号
捕获
更新
删除
事件

顺便说一下,我还没有将Django模型中的所有字段映射到弹性搜索

当用户搜索时,他/她从elastic search server获得主页上的项目列表。当用户单击项目列表时。在
elastic\u搜索服务器
Postgres服务器

如果我把每个对象的所有细节都放在弹性服务器中,这对我来说将是一件痛苦的事情,因为Django模型中存在嵌套关系

如果我没有将所有细节都放在弹性搜索服务器中,我需要查询数据库,以获取一个项目的细节,与弹性搜索查询相比,这将是一个缓慢的过程

我应该走哪条路

在弹性搜索服务器中索引所有属性以及嵌套关系,并对弹性搜索执行所有查询操作

在弹性搜索服务器中只索引必要的字段,对于详细视图,使用所需的字段id对数据库进行q查询


以前有人有过这种经历吗?

这个决定实际上取决于您试图通过弹性搜索解决的问题。 最近我参与了一个使用弹性搜索的项目。原因是为了加快搜索速度并提供更好的搜索结果。但是,从数据库(mssql)查询所选产品的详细信息。 映射所有或少数字段的决定取决于您希望从弹性搜索中得到什么。如果是为了更好的搜索结果(结果+速度),那么我建议您只映射那些有助于用户搜索的字段