{"id":22242820,"url":"https://github.com/abdelhakim-gh/sri_project","last_synced_at":"2025-03-25T10:41:29.953Z","repository":{"id":263179932,"uuid":"889599887","full_name":"Abdelhakim-gh/SRI_Project","owner":"Abdelhakim-gh","description":"collecting, parsing, indexing, storing, querying data of 250 movies","archived":false,"fork":false,"pushed_at":"2024-12-24T15:04:53.000Z","size":1634,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T09:42:21.892Z","etag":null,"topics":["omdb-api","python","xapian"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abdelhakim-gh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-16T18:30:39.000Z","updated_at":"2024-12-24T15:04:57.000Z","dependencies_parsed_at":"2024-12-10T15:19:45.168Z","dependency_job_id":"113b95c9-dbca-45de-bf19-f296555f3646","html_url":"https://github.com/Abdelhakim-gh/SRI_Project","commit_stats":null,"previous_names":["abdelhakim-gh/sri_project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdelhakim-gh%2FSRI_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdelhakim-gh%2FSRI_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdelhakim-gh%2FSRI_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdelhakim-gh%2FSRI_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abdelhakim-gh","download_url":"https://codeload.github.com/Abdelhakim-gh/SRI_Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245449531,"owners_count":20617187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["omdb-api","python","xapian"],"created_at":"2024-12-03T04:17:43.797Z","updated_at":"2025-03-25T10:41:29.928Z","avatar_url":"https://github.com/Abdelhakim-gh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Guide d'installation et de configuration du projet\n\n## Installation\n\n\u003e Il y a deux éléments de Xapian dont vous avez besoin pour suivre ce guide : la bibliothèque elle-même, et le support pour le langage que vous allez utiliser. Ce guide a été écrit à l'origine avec des exemples en Python, et nous avons commencé à faire des traductions complètes en Java, Perl, PHP et C++. Consultez le [guide](https://getting-started-with-xapian.readthedocs.io/en/latest/overview.html) pour plus d'informations.\n\n### Prérequis\n\n- Ubuntu comme environnement d'exécution\n- `Python`, `pip`, `git` installé\n\nPour installer Python LTS, pip et git sur Ubuntu, exécutez les commandes suivantes dans le terminal :\n\n```sh\nsudo apt update\nsudo apt install -y python3 python3-pip git\n```\n\n### Étapes d'installation\n\n\u003e Dans `Home directory` execute les command suivant\n\n1. **Cloner le projet**\n\n   Clonez le dépôt du projet sur votre machine local:\n\n   ```sh\n   git clone https://github.com/Abdelhakim-gh/SRI_Project\n   cd SRI_Project\n   ```\n\n2. **Installer Xapian**\n\n   Exécutez le script `setup/install-xapian.sh` pour télécharger et configurer l'environnement Xapian \u0026 dependence ou suivez les instructions dans le fichier :\n\n   ```sh\n   cp setup/install-xapian.sh ~/\n   cd\n   sh install-xapian.sh\n   ```\n\n## Indexer la base de données Xapian\n\n1. **Récupérer les données**\n\n   Exécutez le script `fetch_data.py` pour récupérer les données des films depuis l'API OMDB :\n\n   ```sh\n   python fetch_data.py\n   ```\n\n2. **Indexer les données**\n\n   Exécutez le script `index.py` pour indexer les données des films récupérées dans une base de données Xapian :\n\n   ```sh\n   python index.py\n   ```\n\n## Interroger le moteur de recherche\n\nUtilisez le script `query.py` avec différentes options pour interroger les données indexées. Voici quelques exemples :\n\n- Rechercher des films par mot-clé dans le résumé ou la description :\n\n  ```sh\n  python query.py --keyword 'action'\n  ```\n\n- Rechercher des films avec un titre spécifique :\n\n  ```sh\n  python query.py --title 'inception'\n  ```\n\n- Rechercher des films dans une plage d'années spécifique :\n\n  ```sh\n  python query.py --year_range '2000..2010'\n  ```\n\n- Rechercher des films avec une classification spécifique :\n\n  ```sh\n  python query.py --rated 'PG-13'\n  ```\n\n- Afficher les facettes sur les résultats (par exemple, le nombre de films par classification) :\n\n  ```sh\n  python query.py --keyword 'action' --show_facets\n  ```\n\n## Demo\n\nVoici quelques images de démonstration :\n\n![Image 1](assets/1.png)\n![Image 2](assets/2.png)\n![Image 3](assets/3.png)\n![Image 4](assets/4.png)\n![Image 5](assets/5.png)\n![Image 6](assets/6.png)\n\n## Conclusion\n\nCe projet démontre les bases de la création d'un système de recherche d'informations en utilisant Xapian. En suivant les étapes fournies, vous pouvez :\n\n1. Récupérer, indexer et interroger des données depuis une API externe.\n2. Implémenter un système de recherche évolutif et personnalisable.\n3. Étendre le système avec des fonctionnalités avancées telles que la recherche facettée, les requêtes par plage et les opérateurs booléens.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdelhakim-gh%2Fsri_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdelhakim-gh%2Fsri_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdelhakim-gh%2Fsri_project/lists"}