이 프로젝트는 PostgreSQL을 기반으로 한 Django의 전체 텍스트 검색을 사용하는 예입니다.
메인 브랜치에있는 버전은 검색 양식이있는 응용 프로그램을 제공합니다. 실제 검색은 Django의 icontains 사용하여 SQL 레벨에서 문자의 경우를 무시하면서 like . 이것은 간단한 검색 요청에만 적용되며 매우 비효율적입니다.
검색 기능은 추가 기능 분기에서 점차 개선됩니다.
메인 브랜치에서 응용 프로그램을 실행하기 전에 다음을 설치해야합니다.
다음 eBook 다운로드를 시작합니다.
sh scripts/rsync_gutenberg.sh프로젝트 Gutenberg의 전체 라이브러리를 다운로드하는 데 시간이 걸립니다. 그러나 테스트를 위해이 스크립트는 수십 또는 수백 개의 eBook을 다운로드 할 때까지 몇 분만 실행하면됩니다.
결국 더 많은 양의 eBook을 원할 경우 배경 으로이 실행을 남길 수 있습니다.
다음으로 PostgreSQL 데이터베이스 서버를 제공하는 Docker 컨테이너를 시작하십시오.
docker-compose up 서버가 실행되는 동안 터미널에 새 명령을 입력 할 수 없으므로 명령이 따라야 할 새 명령을 열어야합니다. (또는 위의 통화에 옵션 --detach 추가 할 수 있습니다.)
그 후,시 환경과 사전 커밋 후크를 설정하십시오.
sh scripts/setup_project.sh이것이 완료되면시 껍질을여십시오.
poetry shell이 쉘에서 추가 명령을 실행해야합니다.
다음으로 데이터베이스를 설정하십시오.
sh scripts/reset_local_database.sh이것은 데이터베이스를 생성하거나 지우고 몇 개의 eBook을로드합니다.
마지막으로 로컬 개발 서버를 실행할 수 있습니다. 선택적으로 기존 서비스와의 충돌을 피하기 위해 포트를 지정할 수 있습니다.
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 에 저장된 슬라이드를 열고이를 통해 작업하십시오. 소개 된 각각의 새로운 기능에 대해 구현하는 데 필요한 코드를 보여주는 교육적 풀 요청이 있습니다 (이전 기능 지점을 기반으로).