Proyek ini adalah contoh untuk menggunakan pencarian teks lengkap Django berdasarkan PostgreSQL.
Versi yang ditemukan di cabang utama menyediakan aplikasi dengan formulir pencarian. Pencarian aktual menggunakan icontains Django yang pada peta level SQL untuk like sambil mengabaikan kasus huruf. Ini hanya berfungsi untuk permintaan pencarian sederhana dan sangat tidak efisien.
Fungsi pencarian secara bertahap ditingkatkan di cabang fitur tambahan:
Sebelum Anda dapat menjalankan aplikasi di cabang utama, Anda perlu menginstal:
Selanjutnya mulai mengunduh beberapa eBook:
sh scripts/rsync_gutenberg.shMengunduh seluruh perpustakaan Project Gutenberg akan memakan waktu berjam -jam. Tetapi untuk menguji skrip ini hanya perlu dijalankan selama beberapa menit sampai diunduh beberapa lusin atau ratusan ebook.
Anda dapat membiarkan ini berjalan di latar belakang jika Anda menginginkan ebooks dalam jumlah yang lebih besar pada akhirnya.
Selanjutnya, luncurkan wadah Docker yang menyediakan server database PostgreSQL:
docker-compose up Saat server berjalan, Anda tidak dapat memasukkan perintah baru di terminal, jadi buka yang baru untuk diikuti oleh perintah. (Atau Anda bisa menambahkan opsi --detach ke panggilan di atas.)
Setelah itu, atur lingkungan puisi dan kait pra-komit:
sh scripts/setup_project.shSetelah ini selesai, buka shell puisi:
poetry shellPerintah lebih lanjut harus dijalankan dalam cangkang ini.
Selanjutnya, atur database:
sh scripts/reset_local_database.shIni membuat atau menghapus database dan memuat beberapa eBook ke dalamnya.
Akhirnya, Anda dapat menjalankan server pengembangan lokal. Secara opsional Anda dapat menentukan port untuk menghindari bentrokan dengan layanan yang ada:
python manage.py runserver 8078Untuk mencari, arahkan ke http://127.0.0.1:8078/ dan masukkan satu istilah pencarian kata tunggal, misalnya "rumah". (Cabang kemudian memungkinkan pencarian yang lebih canggih).
Untuk menelusuri dokumen yang tersedia, navigasikan ke http://127.0.0.1:8078/admin/gutensearch/document/. Untuk login, gunakan admin sebagai nama pengguna dan deMo.123 sebagai kata sandi.
Setelah itu, buka slide yang disimpan dalam Full text search with Django and PostgreSQL.odp dan bekerja melalui mereka. Untuk setiap fitur baru yang diperkenalkan ada permintaan tarik pendidikan yang menunjukkan kode yang diperlukan untuk mengimplementasikannya (berdasarkan cabang fitur sebelumnya).