Aplikasi Djangoflix adalah aplikasi Django yang memungkinkan Anda mencari film dan acara TV dari jutaan judul. Ini menggunakan Elasticsearch 7 sebagai mesin pencari dan Django-Haystack untuk mengintegrasikannya dengan Django. Sejauh ini Elasticsearch adalah mesin pencari terbaik untuk mencari teks dan sangat cepat. Juga sangat mudah untuk diintegrasikan dengan Django. Saat mencari melalui aplikasi, Anda juga dapat memfilter hasil berdasarkan tahun, genre, dan peringkat. Jika Anda membuat fungsionalitas yang sama menggunakan pencarian Django default seperti menggunakan icontains atau contains maka akan membutuhkan banyak waktu untuk mencari dan memfilter hasilnya. Tetapi dengan Elasticsearch, sangat cepat dan mudah digunakan.
Proyek ini sedang bekerja dan saya mencoba menambahkan beberapa fungsi streaming video ke ini. Jadi silakan periksa Commit, jika Anda tidak yakin tentang poin mana untuk menelusuri basis kode repo ini.

docker-compose up di terminal dan akan menjalankan aplikasi. Tetapi jika Anda ingin menjalankan aplikasi tanpa Docker maka ikuti langkah -langkah di bawah inigit clone https://github.com/selftaughtdev-me/movie-search-api.gitsudo apt update -y
# install postgresql as sqlite is not efficient enough to handle millions of records
sudo apt install libpq-dev postgresql postgresql-contrib -y
sudo service postgresql start
# install python3 & build-essential
sudo add-apt-repository ppa:deadsnakes/ppa # for all python versions
sudo apt update -y
sudo apt-get install apt-transport-https
sudo apt install python3.8 python3.8-dev python3.8-venv build-essential -y
# install java as it is required for elasticsearch
sudo apt install openjdk-11-jdk openjdk-11-jre -y
# install ElasticSearch
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo " deb https://artifacts.elastic.co/packages/7.x/apt stable main " | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install elasticsearch -y
sudo service elasticsearch start
sudo service elasticsearch statussudo -u postgres psql
CREATE DATABASE django_flix ;
CREATE USER django_flix_user WITH PASSWORD ' html_programmer ' ;
ALTER ROLE django_flix_user SET client_encoding TO ' utf8 ' ;
ALTER ROLE django_flix_user SET default_transaction_isolation TO ' read committed ' ;
ALTER ROLE django_flix_user SET timezone TO ' UTC ' ;
GRANT ALL PRIVILEGES ON DATABASE django_flix TO django_flix_user ;
q # inside project root directory
python3.8 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install wheel
pip install -r requirements.txt
# migrate
./manage.py migrate
./manage.py createsuperuser./manage.py generate_test_data 1000000./manage.py runserver
http://localhost:8000/api/ ? q=t
http://localhost:8000/api/search/ ? q=t & facets=year:1983
http://localhost:8000/api/search/ ? q=t & facets=year:1983,genre:rise
