API - Mesin pencari web sederhana. Tujuannya adalah untuk mengindeks daftar URL (halaman web) yang tak terbatas, dan kemudian dapat dengan cepat mencari URL yang relevan terhadap kueri. Mesin ini menggunakan database Elasticsearch.
Operasi pengindeksan URL baru URL perayapan pertama, kemudian mengekstrak judul dan konten teks utama dari halaman. Kemudian, dokumen baru yang mewakili data URL disimpan di Elasticsearch, dan digunakan untuk pengindeksan.
Saat mencari URL yang relevan, mesin akan membandingkan kueri dengan data setiap dokumen (halaman web), dan mengambil daftar URL yang cocok dengan kueri, diurutkan berdasarkan relevansi.
Mesin pencari ini dapat digunakan dengan UI: https://github.com/anthonysigogne/web-search-engine-ui
API ini berfungsi untuk daftar bahasa yang terbatas, lihat di sini untuk daftar lengkap: https://www.elastik.co/guide/en/elasticsearch/reference/current/analysis-lang-analyzer.html.
Demo dapat ditemukan di sini: http://searchengine.byprog.com/
Sekitar 500 URL Prancis dan 500 URL Bahasa Inggris dari Jaringan Berita http://www.france24.com/ telah diindeks.
Alat ini membutuhkan Python3+ dan Elasticsearch5+ .
git clone https://github.com/AnthonySigogne/web-search-engine.git
cd web-search-engine
pip install -r requirements.txt
Kemudian, jalankan alat:
FLASK_APP=index.py HOST=<ip> PORT=<port> USERNAME=<username> PASSWORD=<password> flask run
Di mana :
ip + port : Rute ke Elasticsearchusername + password : Kredensial untuk Diakses Untuk menjalankan dalam mode debug, prepend FLASK_DEBUG=1 ke perintah:
FLASK_DEBUG=1 ... flask run
Untuk menjalankan alat dengan Docker, Anda dapat menggunakan gambar Dockerhub saya: https://hub.docker.com/r/anthonysigogne/web-search-engine/
docker run -p 5000:5000
-e "HOST=<ip>"
-e "PORT=<port>"
-e "USERNAME=<username>"
-e "PASSWORD=<password>"
anthonysigogne/web-search-engine
Di mana :
ip + port : Rute ke Elasticsearchusername + password : Kredensial untuk Mengakses ElasticsearchAtau, bangun sendiri gambar Docker:
git clone https://github.com/AnthonySigogne/web-search-engine.git
cd web-search-engine
docker build -t web-search-engine .
Untuk membuat daftar semua layanan API, ketikkan titik akhir ini di browser web Anda: http: // localhost: 5000/
Indeks halaman web melalui URL -nya.
Url
/indeks
Metode
POST
Formulir Data Params
Diperlukan:
url=[string] , URL ke indeks
Respons Sukses
SuccessRespons kesalahan
Contoh Panggilan (dengan Curl)
curl http://localhost:5000/index --data "language=en&url=https://www.byprog.com/en/"
Mesin kueri untuk menemukan daftar URL yang relevan. Kembalikan sublist URL yang cocok diurutkan berdasarkan relevansi, dan total URL yang cocok, di JSON.
Url
/mencari
Metode
POST
Formulir Data Params
Diperlukan:
query=[string] , kueri pencarian
Tidak diperlukan:
start=[integer] , awal hit (0 secara default)
hits=[integer] , jumlah hit yang dikembalikan oleh kueri (10 secara default)
highlight=[integer] , kembalikan bagian sorotan untuk setiap URL (0 atau 1, 0 secara default)
Respons Sukses
{
"total": 1,
"results": [
{
"title": "Anthony Sigogne / Freelance / Full-Stack Developer",
"description": "Full-Stack Developer specialized in new technologies and innovative IT solutions.",
"url": "https://www.byprog.com/en/"
}
]
}
Respons kesalahan
Contoh Panggilan (dengan Curl)
curl http://localhost:5000/search --data "query=freelance fullstack"
Mit