https://github.com/chartes/encpos-app
Elasticsearch API to search the ENC Thesis Abstracts (Positions de thèses).
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.2%) to scientific vocabulary
Keywords
Repository
Elasticsearch API to search the ENC Thesis Abstracts (Positions de thèses).
Basic Info
- Host: GitHub
- Owner: chartes
- Language: Python
- Default Branch: master
- Homepage: https://theses.chartes.psl.eu/api/1.0/search?query=content:*
- Size: 27.3 KB
Statistics
- Stars: 0
- Watchers: 3
- Forks: 2
- Open Issues: 1
- Releases: 2
Topics
Metadata Files
README.md
encpos-app
Elasticsearch API to search the ENC Thesis Abstracts (Positions de thèses).
Install
Clone the GitHub repository:
in a local folder dedicated to the projectbash git clone https://github.com/chartes/encpos-app.gitSet up the virtual environment:
in the app folder (cd path/to/encpos-app)bash python3 -m venv venv source venv/bin/activate pip3 install -r requirements.txtFor servers requiring uWSGI to run Python apps (remote Nginx servers):- check if uWSGI is installed
pip3 list --local - install it in the virtual env if it's not:
pip3 install uWSGI.
- check if uWSGI is installed
NB : cette commande peut nécessiter d'installer wheel :
- pour vérifier si wheel est installé : pip3 show wheel
- pour l'installer le cas échéant : pip3 install wheel
Install Elasticsearch and create indices if they are not available:
Follow the ES installation & initial indexing instructions belowLaunch the app:
:warning: Below commands are mainly for local launch.
For servers, apps may be started via processes management tools, refer to the servers documentation- Reactivate the virtual environment if needed (
source venv/bin/activate) - Launch:
from the subfolder containing flaskapp.py (`cd path/to/encposapp)bash (ES_PASSWORD={ELASTIC_PASSWORD}) python3 flask_app.py`
- Reactivate the virtual environment if needed (
Indexing
Install an Elasticsearch's version (compatible with requirements.txt specs)
:warning: These commands are run independently/outside the app virtual environment - Elasticsearch : see internal instructions or https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html#elasticsearch-install-packages
- ICU plugin : see https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-icu.html
check if ICU is installed withuconv -V(currently deployed : uconv v2.1 ICU 63.1), otherwise :bash {path/to/elasticsearch_folder}/bin/elasticsearch-plugin install analysis-icu
With docker (security disabled):
bash
docker run --name es-encpos -d -p 9200:9200 -e "discovery.type=single-node" -e "xpack.security.enabled=false" -e "xpack.security.http.ssl.enabled=false" elasticsearch:8.12.1
docker exec es-encpos bash -c "bin/elasticsearch-plugin install analysis-icu"
docker restart es-encpos
Indexing
:warning: Below (re)indexing commands are run within the app virtual environment:
reactivate the virtual environment if needed (source venv/bin/activate)In below commands, options are indicated within brackets (option). Remove them as required.
With ES security enabled, the ES_PASSWORD option is required in commands below.
Initial indexing:
bash
(ES_PASSWORD={ELASTIC_PASSWORD}) python3 manage.py update-conf
(ES_PASSWORD={ELASTIC_PASSWORD}) python3 manage.py index (--years=YYYY-YYYY)
Update the indexes' configuration:
bash
(ES_PASSWORD={ELASTIC_PASSWORD}) python3 manage.py update-conf --rebuild
The above command updates the indexes according to the project ES configuration files.
Index or reindex (without index configuration changes):
bash
(ES_PASSWORD={ELASTIC_PASSWORD}) python3 manage.py index (--years=YYYY-YYYY)
Check created indexes:
bash
curl http://(elastic:{ELASTIC_PASSWORD}@)localhost:9200
Launch the front-end:
Additional details for offline commands:
```bash python3 manage.py --help
Usage: manage.py [OPTIONS] COMMAND [ARGS]...
Options: --help Show this message and exit.
Commands (need ES_PASSWORD with ES security enabled): delete Delete the indexes index Rebuild the elasticsearch indexes search Perform a search using the provided query. update-conf Update the index configuration and mappings
```
Owner
- Name: École nationale des chartes
- Login: chartes
- Kind: organization
- Location: 65 rue de Richelieu, 75002 Paris
- Website: http://www.chartes.psl.eu/
- Repositories: 12
- Profile: https://github.com/chartes
Grand établissement d’enseignement supérieur dédié à la recherche historique
GitHub Events
Total
- Release event: 1
- Push event: 5
- Pull request event: 2
- Create event: 1
Last Year
- Release event: 1
- Push event: 5
- Pull request event: 2
- Create event: 1
Dependencies
- Flask ==1.1.2
- Jinja2 ==2.11.3
- MarkupSafe ==1.1.1
- Werkzeug ==1.0.1
- certifi ==2020.12.5
- chardet ==4.0.0
- click ==7.1.2
- elasticsearch ==7.12.0
- idna ==3.1
- itsdangerous ==1.1.0
- lxml ==4.6.3
- python-dotenv ==0.17.0
- requests ==2.25.1
- urllib3 ==1.26.4