https://opensemanticsearch.org
Offene semantische Suche ist:
Diese README.md ist eine Dokumentation für Softwareentwickler.
Die Dokumentation für Benutzer und Administratoren ist in den Softwarepaketen/Bildern enthalten und in der Suchbenutzeroberfläche (Menü „Hilfe“) verlinkt.
Die Dokumentation der Suchmaschinenarchitektur finden Sie unter docs/doc/modules/README.md
.
Diese integrierte HTML-Dokumentation wird vom statischen Site-Generator MkDocs mit der Konfigurationsdatei mkdocs.yml
generiert.
Die Quelle der Dokumentation (Markdown-Format) und der Diagramme (Mermaid-Format) kann im Verzeichnis docs
bearbeitet werden.
So erstellen Sie das Deb-Paket für die Installation auf einem Debian- oder Ubuntu-Server oder die Docker-Images für die Ausführung in Docker-Containern:
Klonen Sie das Repository einschließlich der Abhängigkeiten:
git clone --recurse-submodules --remote-submodules https://github.com/opensemanticsearch/open-semantic-search.git
cd open-semantic-search
Um ein deb
-Paket für Debian GNU/Linux oder Ubuntu Linux zu erstellen, rufen Sie das Build-Skript build-deb
als Benutzer root auf (ändern Sie den Benutzer durch su
oder sudo su
):
./build-deb
Wie Sie eine Open Semantic Desktop Search Appliance für VirtualBox erstellen, ist in src/open-semantic-desktop-search/README.md
dokumentiert.
Erstellen Sie die Docker-Images mit der Standard-Docker-Compose-Konfiguration docker-compose.yml
:
docker-compose build
Nach diesen Builds können alle Docker-Images/Abhängigkeiten/Dienste gemeinsam durch Docker-Compose mit der Konfigurationsdatei docker-compose.yml
gestartet werden.
Sie können die gesamte Umgebung starten, indem Sie Folgendes ausführen:
docker-compose up
Dadurch wird die Webbenutzeroberfläche auf Port 8080
verfügbar gemacht.
Sie können die Benutzeroberfläche von Open Semantic Search in Ihrem bevorzugten Browser unter dieser URL durchsuchen:
http://localhost:8080/search/
Für CI/CD gibt es verschiedene automatisierte Tests:
Da das Submodul Open Semantic ETL verschiedene leistungsstarke Dienste wie Solr, spaCy-services oder Tika-Server per HTTP und REST-API nutzt und benötigt, laufen viele automatisierte Tests als Integrationstests innerhalb der in docker-compose.etl.test.yml
damit diese Dienste verfügbar sind, während die Unittests und Integrationstests ausgeführt werden.
docker-compose -f docker-compose.etl.test.yml build
docker-compose -f docker-compose.etl.test.yml up
Einige automatisierte Integrationstests und End-to-End-Tests (E2E) innerhalb eines Webbrowsers, gesteuert durch das Browser-Automatisierungs-Framework Playwright und das node.js/javascript-basierte Test-Framework JEST.
Sie können die automatisierten Tests in test/test.js
erweitern
Sie werden vom Docker-Image Dockerfile-test
ausgeführt und benötigen die Dienste der Docker-Compose-Umgebung docker-compose.test.yml
:
docker-compose -f docker-compose.test.yml build
docker-compose -f docker-compose.test.yml up
Abhängigkeiten werden automatisch durch Erstellen oder Installieren der Debian- oder Ubuntu-Pakete oder durch Erstellen der Docker-Images gelöst.
Dokumentation zu diesen Abhängigkeiten, die beim Debuggen von Abhängigkeitsproblemen oder Installationen in anderen Umgebungen hilfreich sein kann:
Abhängigkeiten von anderen Git-Repositorys/Submodulen von Komponenten wie Open Semantic ETL sind in der Git-Konfigurationsdatei .gitmodules
definiert
Die Submodule werden automatisch in das Unterverzeichnis src
ausgecheckt, wenn Sie dieses Repository per Git im rekursiven Modus auschecken.
Die Submodule src/tika-server.deb
und src/solr.deb
benötigen die JAR von Apache Tika-Server und Apache Solr.
Wenn sie nicht vorhanden sind, werden sie von der Apache Software Foundation per wget im build-deb
-Skript oder den Submodulen Dockerfile
heruntergeladen.
Abhängigkeiten von Tools und Bibliotheken, die in den Debian- oder Ubuntu-Paket-Repositorys verfügbar sind, werden im Abschnitt Depends
von der Deb-Paket-Konfigurationsdatei DEBIAN/control
definiert
Abhängigkeiten von Python-Bibliotheken, die nicht als Pakete der Linux-Distribution, sondern im Python Package Index (PyPI) verfügbar sind, sind in definiert
src/open-semantic-etl/src/opensemanticetl/requirements.txt
Diese Abhängigkeiten werden automatisch bei der Installation der Debian/Ubuntu-Pakete durch das DEBIAN/postinst
-Skript der Debian/Ubuntu-Pakete oder durch den von Dockerfile
konfigurierten Docker-Build installiert
pip3 install -r /usr/lib/python3/dist-packages/opensemanticetl/requirements.txt
Die meisten Mitwirkenden werden von der Github-Benutzeroberfläche nicht als „ Mitwirkende “ dieses Repositorys angezeigt, da dieses Haupt-Repository durch Git-Submodule wie Open Semantic ETL und andere Module strukturiert ist, die in separaten Git(Hub)-Repositories verwaltet werden.
Vielen Dank also an alle (aktuellen und ehemaligen) Mitwirkenden:
Fühlen Sie sich frei, zu verlängern, wenn Sie in unterschiedlicher Form beigetragen/unterstützt/gesponsert haben.