该项目是使用Django基于PostgreSQL的全文搜索的示例。
在主分支中找到的版本提供了带有搜索表格的应用程序。实际搜索使用Django的icontains ,这些like在SQL级别的地图上忽略了字母的情况。这仅适用于简单的搜索请求,并且非常效率低下。
搜索功能在其他功能分支中逐渐提高:
在您需要安装的主分支中运行应用程序之前:
接下来开始下载一些电子书:
sh scripts/rsync_gutenberg.sh下载Gutenberg项目的整个图书馆将需要几个小时。但是,要测试此脚本只需要运行几分钟,直到下载了几十或数百本电子书。
您可以将此运行留在后台,以防最终想要更多的电子书。
接下来,启动提供PostgreSQL数据库服务器的Docker容器:
docker-compose up当服务器运行时,您无法在终端中输入新命令,因此请打开一个新命令供命令遵循。 (或者,您可以将选项--detach到上述呼叫中。)
之后,建立诗歌环境并预先提出的钩子:
sh scripts/setup_project.sh完成此操作后,打开诗歌外壳:
poetry shell任何其他命令都应在此外壳中运行。
接下来,设置数据库:
sh scripts/reset_local_database.sh这会创建或清除数据库,并将一些电子书加载到其中。
最后,您可以运行本地开发服务器。您可以选择指定端口,以避免与现有服务冲突:
python manage.py runserver 8078要搜索,请导航到http://127.0.0.1:8078/并输入一个单词搜索词,例如“ House”。 (后来的分支允许更复杂的搜索)。
要浏览可用的文档,请导航到http://127.0.0.1:8078/admin/gutensearch/document/。对于登录名,将admin用作用户名和deMo.123作为密码。
之后, Full text search with Django and PostgreSQL.odp中的幻灯片,然后通过它们进行操作。对于介绍的每个新功能,都有一个教育拉力请求,显示实现它所需的代码(基于上一个功能分支)。