我正在创建一个招聘网站,我需要搜索一个关键技能文本区域字段,以获取多个值。
例如。我可能正在寻找一位具有良好python的C ++程序员,并在医疗保健数据科学家工作。
所以我的搜索条目形式我会把c ++ python医疗保健数据科学家。
可能有多达20名员工对具有几千条记录的数据库执行搜索。我需要知道使用Django和在digitalocean上托管的postresql数据库执行此类搜索的最佳技术是什么。
我可以建议在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”
你应该考虑在postgres中使用JSONB存储。哪个是SQL数据库中的NOSQL。
Full-Text Search in Django with PostgreSQL
如何访问DJANGO https://www.postgresql.org/docs/9.6/static/functions-json.html