如何在django Postgres table textarea字段中搜索多个单词?

问题描述 投票:1回答:2

我正在创建一个招聘网站,我需要搜索一个关键技能文本区域字段,以获取多个值。

例如。我可能正在寻找一位具有良好python的C ++程序员,并在医疗保健数据科学家工作。

所以我的搜索条目形式我会把c ++ python医疗保健数据科学家。

可能有多达20名员工对具有几千条记录的数据库执行搜索。我需要知道使用Django和在digitalocean上托管的postresql数据库执行此类搜索的最佳技术是什么。

django postgresql full-text-search
2个回答
1
投票

我可以建议在PostgreSQL全文搜索中使用Django。

在我看来,这是最好的解决方案,因为您将直接在PostgreSQL中拥有数据和搜索索引,并且您不会被迫安装和维护其他软件(例如Elasticsearch)并保持数据和索引同步。

这是使用PostgreSQL在Django中执行full-text search时最简单的代码示例:

search_entry = 'c++ python healthcare data scientist'
Person.objects.filter(skills__search=search_entry)

有关在Django中使用PostgreSQL进行全文搜索的所有基本文档,您可以使用官方文档:“Full text search

如果你想进一步深化,你可以阅读我写的关于这个主题的文章:

“Qazxswpoi”


0
投票

你应该考虑在postgres中使用JSONB存储。哪个是SQL数据库中的NOSQL。

Full-Text Search in Django with PostgreSQL

如何访问DJANGO https://www.postgresql.org/docs/9.6/static/functions-json.html

© www.soinside.com 2019 - 2024. All rights reserved.