https://opensemanticsearch.org
La recherche sémantique ouverte est :
Ce README.md est une documentation destinée aux développeurs de logiciels.
La documentation destinée aux utilisateurs et aux administrateurs est incluse dans les packages logiciels/images et liée dans l'interface utilisateur de recherche (Menu « Aide »).
Vous pouvez trouver la documentation de l'architecture du moteur de recherche dans docs/doc/modules/README.md
.
Cette documentation HTML intégrée est générée par le générateur de site statique MkDocs avec le fichier de configuration mkdocs.yml
.
La source de la documentation (format Markdown) et des graphiques (format sirène) est modifiable dans le répertoire docs
.
Comment créer le package deb pour une installation sur un serveur Debian ou Ubuntu ou les images Docker pour une exécution dans des conteneurs Docker :
Clonez le dépôt incluant les dépendances :
git clone --recurse-submodules --remote-submodules https://github.com/opensemanticsearch/open-semantic-search.git
cd open-semantic-search
Pour créer un package deb
pour Debian GNU/Linux ou Ubuntu Linux , appelez le script de build build-deb
en tant qu'utilisateur root (changez d'utilisateur par su
ou sudo su
) :
./build-deb
Comment créer un Open Semantic Desktop Search Appliance pour VirtualBox est documenté dans src/open-semantic-desktop-search/README.md
.
Créez les images Docker en utilisant la configuration docker-compose par défaut docker-compose.yml
:
docker-compose build
Après ces builds, toutes les images/dépendances/services Docker peuvent être démarrés ensemble par docker-compose avec le fichier de configuration docker-compose.yml
.
Vous pouvez démarrer l'ensemble de l'environnement en exécutant :
docker-compose up
qui exposera l'interface utilisateur Web sur le port 8080
.
Vous pouvez parcourir l’interface utilisateur d’Open Semantic Search dans votre navigateur préféré via cette URL :
http://localhost:8080/search/
Pour CI/CD, il existe différents tests automatisés :
Étant donné que le sous-module Open Semantic ETL utilise et a besoin de différents services puissants comme Solr, spaCy-services ou Tika-Server par HTTP et REST-API, de nombreux tests automatisés s'exécutent en tant que tests d'intégration dans l'environnement docker-compose configuré dans docker-compose.etl.test.yml
afin que ces services soient disponibles lors de l'exécution des tests unitaires et des tests d'intégration.
docker-compose -f docker-compose.etl.test.yml build
docker-compose -f docker-compose.etl.test.yml up
Certains tests d'intégration automatisés et tests de bout en bout (E2E) dans un navigateur Web contrôlés par le framework d'automatisation du navigateur Playwright et le framework de test basé sur node.js/javascript JEST.
Vous pouvez étendre les tests automatisés dans test/test.js
Ils sont exécutés par l'image docker Dockerfile-test
et ont besoin des services de l'environnement docker-compose docker-compose.test.yml
:
docker-compose -f docker-compose.test.yml build
docker-compose -f docker-compose.test.yml up
Les dépendances sont résolues automatiquement en construisant ou en installant les packages Debian ou Ubuntu ou en construisant les images Docker.
Documentation sur ces dépendances qui peut aider à déboguer les problèmes d'enfer des dépendances ou les installations dans d'autres environnements :
Les dépendances sur d'autres référentiels/sous-modules Git de composants comme Open Semantic ETL sont définies dans le fichier de configuration Git .gitmodules
Les sous-modules seront automatiquement extraits dans le sous-répertoire src
, si vous extrayez ce référentiel par git en mode récursif.
Les sous-modules src/tika-server.deb
et src/solr.deb
nécessitent le JAR d'Apache Tika-Server et Apache Solr.
S'ils ne sont pas là, ils seront téléchargés depuis Apache Software Foundation par wget dans le script build-deb
ou les sous-modules Dockerfile
.
Les dépendances des outils et bibliothèques, disponibles dans les référentiels de packages Debian ou Ubuntu, sont définies dans la section Depends
du fichier de configuration du package deb DEBIAN/control
Les dépendances des bibliothèques Python qui ne sont pas disponibles en tant que packages de la distribution Linux mais dans Python Package Index (PyPI), sont définies dans
src/open-semantic-etl/src/opensemanticetl/requirements.txt
Ces dépendances seront installées automatiquement à l'installation des packages Debian/Ubuntu par le script DEBIAN/postinst
des packages Debian/Ubuntu ou par docker build configuré par Dockerfile
par
pip3 install -r /usr/lib/python3/dist-packages/opensemanticetl/requirements.txt
La plupart des contributeurs ne sont pas affichés par l'interface utilisateur de Github comme « Contributeurs » de ce référentiel, puisque ce référentiel principal est structuré par des sous-modules Git comme Open Semantic ETL et d'autres modules, qui sont gérés dans des référentiels Git(hub) séparés.
Merci donc à tous les contributeurs (actuels et anciens) :
N'hésitez pas à prolonger si vous avez contribué/soutenu/sponsorisé sous différentes formes.