hasadna / hasadna/standalone-tasks

הוספת תהליך שיאנדקס טקסט של פרוטוקולים של הכנסת לשרת חיפוש

Open
#39 0 comments 0 reactions 0 assignees View on GitHub
כנסת פתוחה מתכנתים back
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.