我正在创建一个招聘网站,我需要搜索一个关键技能文本区域字段,为多个价值观。
例如:我可能正在寻找一名拥有优秀python的C++程序员,并在医疗保健数据科学家中工作。
所以我的搜索条目,我会把c++ python医疗保健数据科学家。
可能有多达20名工作人员对有几千份记录的数据库进行搜索。我需要知道使用Django和postresql数据库在数字海洋上执行这种搜索的最佳技术是什么。
发布于 2018-09-19 08:32:57
我可以建议使用Django与PostgreSQL全文搜索。
在我看来,这是最好的解决方案,因为您将直接在PostgreSQL中拥有数据和搜索索引,并且不会被迫安装和维护其他软件(例如Elasticsearch),并保持数据和索引保持同步。
这是在Django中使用全文搜索执行PostgreSQL的最简单的代码示例:
search_entry = 'c++ python healthcare data scientist'
Person.objects.filter(skills__search=search_entry)
对于在Django中使用"全文搜索"全文搜索的所有基本文档,可以使用正式文档:
如果你想进一步深化,你可以阅读我在上写的一篇文章:
"用PostgreSQL在Django中进行全文搜索"
发布于 2018-09-18 17:05:10
您应该研究如何使用postgres中的JSONB存储。它是SQL数据库中的NOSQL。
https://www.postgresql.org/docs/9.6/static/functions-json.html
如何在DJANGO https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/fields/#querying-jsonfield中访问
https://stackoverflow.com/questions/52391425
复制相似问题