hasadna / hasadna/standalone-tasks
הוספת תהליך שיאנדקס טקסט של פרוטוקולים של הכנסת לשרת חיפוש
- Dominant language
- No language data
- Stars
- 11
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## מטרה
בפרוייקט כריית הנתונים על הכנסת (כנסת פתוחה) אנחנו מעבדים פרוטוקולים של הכנסת בפורמט וורד ומייצרים מהם שני קבצים - קובץ טקסט - שמכיל את הטקסט בלבד וקובץ טבלאי שמכיל את הפרוטוקול מחולק לדוברים.
אנחנו מעוניינים לאפשר לחפש בתוך הטקסט של הפרוטוקולים באמצעות שרת חיפוש
השרת שאנו מעוניינים לעבוד איתו הוא -
ElasticSearch
## מה צריך לעשות?
* לכתוב קוד כחלק מתשתית כריית הנתונים של כנסת פתוחה שיאנדקס את הפרוטוקולים בשרת החיפוש
* להוסיף תשתית של שרת החיפוש לקבצי הדוקר של הפרוייקט
## ידע נדרש
המשימה דורשת היכרות עם או רצון ללמוד עצמאית את הנושאים הבאים
- Python 3.6
- PostgreSQL DB
- Docker
- Basic Linux shell scripting / terminal usage
- Git / GitHub
## הוראות מפורטות
### התקנת סביבת העבודה והיכרות עם המערכת
בשלב זה נבצע התקנה ראשונית של סביבת העבודה ונריץ כמה תהליכי עיבוד שרלוונטיים למשימה לצורך היכרות עם המערכת
- fork and clone the project - https://github.com/hasadna/knesset-data-pipelines
- install latest versions of Docker and Docker Compose - refer to [docker core documentation](https://docs.docker.com/engine/installation/) and [docker compose documentation](https://docs.docker.com/compose/install/)
- open a terminal from the project directory and run `bin/start.sh`
- this will start a docker compose environment with everything you need to start running the pipelines
- it binds 2 services to ports on your host:
- datapackage pipelines dashboard: http://localhost:5000/
- postgresql DB (default password 123456): `postgresql://postgres:123456@localhost:5432/postgres`
- run the dpp cli command inside the docker environment
- `bin/dpp.sh`
- this should show all the available pipelines
- `bin/dpp.sh --help`
- run the committees pipeline (shouldn't take more then 1-2 minutes)
- `bin/dpp.sh run ./committees/committees`
- this populates the `committees-committees` DB table
- you can connect to the DB at `postgresql://postgres:123456@localhost:5432/postgres` and check the data
- run the committee meetings pipeline to get some committee meeting in DB
- this command should give some meetings -
- `docker-compose exec app sh -c 'OVERRIDE_COMMITTEE_IDS=2,3 dpp run ./committees/committee-meetings'`
- this should give you some meeting - you can check in the DB `committee-meetings` table
- run the committee meeting protocols pipelines to download and parse the meetings
- `docker-compose exec app sh -c 'OVERRIDE_COMMITTEE_IDS=2,3 dpp run ./committees/committee-meeting-protocols'`
- the source protocol files were downloaded to `.data-docker/committee-meeting-protocols/`
- the parsed files should be in `.data-docker/committee-meeting-protocols-parsed/`
### התקנת סביבת פיתוח והרצת בדיקות אוטומטיות
- you should be inside a Python 3.6 activated virtualenv
- [Pythonz](https://github.com/saghul/pythonz#installation) can be used to install a specific Python version.
- [Virtualenvwrapper](http://virtualenvwrapper.readthedocs.io/en/latest/install.html#basic-installation) can help setting up and managing virtualenvs
- once you are inside an activated virtualenv, run:
- `bin/install.sh`
- `bin/test.sh`
### המשך הפיתוח
- עברו בבקשה למשימה בפרוייקט, והמשיכו לפי ההנחיות שם - https://github.com/hasadna/knesset-data-pipelines/issues/16
- עדכנו בבקשה בהערות למשימה שאתם עובדים עליה
- we are using standard GitHub pull requests, issues, releases etc.. you can read more about the development workflow here - https://opensource.guide/how-to-contribute/
[לחצו כאן לעבור להמשך הפיתוח במשימה הרלוונטית](https://github.com/hasadna/knesset-data-pipelines/issues/16)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with issue #16, which this task explicitly identifies as the continuation of the work. Use bin/start.sh and bin/dpp.sh to run the committees and committee-meeting-protocols pipelines, then inspect the parsed protocol output under .data-docker/committee-meeting-protocols-parsed/. Done means indexing protocol text in Elasticsearch and adding the search service to the project's Docker configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, docker-compose, elasticsearch, postgresql, python
- Domain
- data-engineering, devops, search
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 20/100