https://opensemanticsearch.org
La búsqueda semántica abierta es:
Este README.md es documentación para desarrolladores de software.
La documentación para usuarios y administradores está incluida en los paquetes/imágenes de software y enlazada en la interfaz de usuario de búsqueda (Menú "Ayuda").
Puede encontrar la documentación de la arquitectura del motor de búsqueda en docs/doc/modules/README.md
.
Esta documentación HTML integrada es generada por el generador de sitios estáticos MkDocs con el archivo de configuración mkdocs.yml
.
La fuente de la documentación (formato Markdown) y los gráficos (formato sirena) se pueden editar en el directorio docs
.
Cómo compilar el paquete deb para instalarlo en un servidor Debian o Ubuntu o las imágenes de Docker para ejecutarlas en contenedores Docker:
Clona el repositorio incluyendo las dependencias:
git clone --recurse-submodules --remote-submodules https://github.com/opensemanticsearch/open-semantic-search.git
cd open-semantic-search
Para compilar un paquete deb
para Debian GNU/Linux o Ubuntu Linux , llame al script de compilación build-deb
como usuario root (cambie el usuario por su
o sudo su
):
./build-deb
Cómo crear un dispositivo de búsqueda de escritorio semántico abierto para VirtualBox está documentado en src/open-semantic-desktop-search/README.md
.
Cree las imágenes de Docker utilizando la configuración predeterminada de docker-compose docker-compose.yml
:
docker-compose build
Después de estas compilaciones, todas las imágenes/dependencias/servicios de Docker se pueden iniciar juntos mediante docker-compose con el archivo de configuración docker-compose.yml
.
Puede iniciar todo el entorno ejecutando:
docker-compose up
que expondrá la interfaz de usuario web en el puerto 8080
.
Puede navegar por la interfaz de usuario de Open Semantic Search en su navegador favorito mediante esta URL:
http://localhost:8080/search/
Para CI/CD existen algunas pruebas automatizadas diferentes:
Dado que el submódulo Open Semantic ETL utiliza y necesita diferentes servicios potentes como Solr, spaCy-services o Tika-Server mediante HTTP y REST-API, muchas pruebas automatizadas se ejecutan como pruebas de integración dentro del entorno docker-compose configurado en docker-compose.etl.test.yml
para que estos servicios estén disponibles mientras se ejecutan las pruebas unitarias y de integración.
docker-compose -f docker-compose.etl.test.yml build
docker-compose -f docker-compose.etl.test.yml up
Algunas pruebas de integración automatizadas y pruebas de extremo a extremo (E2E) dentro de un navegador web controlado por el marco de automatización del navegador Playwright y el marco de prueba basado en node.js/javascript JEST.
Puede ampliar las pruebas automatizadas en test/test.js
Se ejecutan mediante la imagen de Docker Dockerfile-test
y necesitan los servicios del entorno Docker-Compose docker-compose.test.yml
:
docker-compose -f docker-compose.test.yml build
docker-compose -f docker-compose.test.yml up
Las dependencias se resuelven automáticamente mediante la compilación o instalación de los paquetes de Debian o Ubuntu o mediante la compilación de las imágenes de Docker.
Documentación sobre estas dependencias que puede ayudar a depurar problemas de dependencias o instalaciones en otros entornos:
Las dependencias de otros repositorios/submódulos de componentes de Git como Open Semantic ETL se definen en el archivo de configuración de Git .gitmodules
Los submódulos se extraerán automáticamente en el subdirectorio src
, si extrae este repositorio mediante git en modo recursivo.
Los submódulos src/tika-server.deb
y src/solr.deb
necesitan el JAR de Apache Tika-Server y Apache Solr.
Si no están allí, se descargarán de Apache Software Foundation mediante wget en el script build-deb
o en los submódulos Dockerfile
.
Las dependencias de las herramientas y bibliotecas, que están disponibles en los repositorios de paquetes de Debian o Ubuntu, se definen en la sección Depends
del archivo de configuración del paquete deb DEBIAN/control
Las dependencias de las bibliotecas de Python que no están disponibles como paquetes de la distribución de Linux pero en Python Package Index (PyPI), se definen en
src/open-semantic-etl/src/opensemanticetl/requirements.txt
Estas dependencias se instalarán automáticamente al instalar los paquetes Debian/Ubuntu mediante el script DEBIAN/postinst
de los paquetes Debian/Ubuntu o mediante la compilación de Docker configurada por Dockerfile
mediante
pip3 install -r /usr/lib/python3/dist-packages/opensemanticetl/requirements.txt
La interfaz de usuario de Github no muestra a la mayoría de los contribuyentes como " Colaboradores " de este repositorio, ya que este repositorio principal está estructurado por submódulos de Git como Open Semantic ETL y otros módulos, que se administran en repositorios Git(hub) separados.
Así que gracias a todos los contribuyentes (actuales y anteriores):
No dude en ampliarlo si contribuyó/apoyó/patrocinó de diferentes formas.