https://opensemanticsearch.org
A pesquisa semântica aberta é:
Este README.md é uma documentação para desenvolvedores de software.
A documentação para usuários e administradores está incluída nos pacotes/imagens de software e vinculada na interface de pesquisa do usuário (Menu "Ajuda").
Você pode encontrar a documentação da arquitetura do mecanismo de pesquisa em docs/doc/modules/README.md
.
Esta documentação HTML integrada é gerada pelo gerador de site estático MkDocs com o arquivo de configuração mkdocs.yml
.
A fonte da documentação (formato Markdown) e dos gráficos (formato sereia) é editável no diretório docs
.
Como construir o pacote deb para instalação no servidor Debian ou Ubuntu ou as imagens docker para execução em contêineres Docker:
Clone o repositório incluindo as dependências:
git clone --recurse-submodules --remote-submodules https://github.com/opensemanticsearch/open-semantic-search.git
cd open-semantic-search
Para construir um pacote deb
para Debian GNU/Linux ou Ubuntu Linux , chame o script de construção build-deb
como usuário root (altere o usuário por su
ou sudo su
):
./build-deb
Como construir um Open Semantic Desktop Search Appliance para VirtualBox está documentado em src/open-semantic-desktop-search/README.md
.
Crie as imagens do Docker usando a configuração padrão docker-compose docker-compose.yml
:
docker-compose build
Após essas compilações, todas as imagens/dependências/serviços do Docker podem ser iniciadas juntas por docker-compose com o arquivo de configuração docker-compose.yml
.
Você pode iniciar todo o ambiente executando:
docker-compose up
que exporá a interface do usuário da web na porta 8080
.
Você pode navegar na interface do usuário do Open Semantic Search em seu navegador favorito por meio deste URL:
http://localhost:8080/search/
Para CI/CD existem alguns testes automatizados diferentes:
Como o submódulo Open Semantic ETL usa e precisa de diferentes serviços poderosos como Solr, spaCy-services ou Tika-Server por HTTP e REST-API, muitos testes automatizados são executados como testes de integração dentro do ambiente docker-compose configurado em docker-compose.etl.test.yml
para que esses serviços estejam disponíveis durante a execução de unittests e testes de integração.
docker-compose -f docker-compose.etl.test.yml build
docker-compose -f docker-compose.etl.test.yml up
Alguns testes de integração automatizados e testes ponta a ponta (E2E) em um navegador da web controlado pela estrutura de automação de navegador Playwright e pela estrutura de teste baseada em node.js/javascript JEST.
Você pode estender os testes automatizados em test/test.js
Eles são executados pela imagem docker Dockerfile-test
e precisam dos serviços do ambiente docker-compose docker-compose.test.yml
:
docker-compose -f docker-compose.test.yml build
docker-compose -f docker-compose.test.yml up
As dependências são resolvidas automaticamente compilando ou instalando os pacotes Debian ou Ubuntu ou construindo as imagens Docker.
Documentação sobre essas dependências que pode ajudar a depurar problemas de dependência ou instalações em outros ambientes:
Dependências de outros repositórios/submódulos Git de componentes como Open Semantic ETL são definidas no arquivo de configuração Git .gitmodules
Os submódulos serão verificados automaticamente no subdiretório src
, se você fizer check-out deste repositório pelo git no modo recursivo.
Os submódulos src/tika-server.deb
e src/solr.deb
precisam do JAR do Apache Tika-Server e Apache Solr.
Caso contrário, eles serão baixados da Apache Software Foundation por wget no script build-deb
ou nos submódulos Dockerfile
.
Dependências de ferramentas e bibliotecas, que estão disponíveis nos repositórios de pacotes Debian ou Ubuntu, são definidas na seção Depends
do arquivo de configuração do pacote deb DEBIAN/control
Dependências de bibliotecas Python que não estão disponíveis como pacotes da distribuição Linux, mas no Python Package Index (PyPI), são definidas em
src/open-semantic-etl/src/opensemanticetl/requirements.txt
Essas dependências serão instaladas automaticamente na instalação dos pacotes Debian/Ubuntu pelo script DEBIAN/postinst
dos pacotes Debian/Ubuntu ou pelo docker build configurado pelo Dockerfile
por
pip3 install -r /usr/lib/python3/dist-packages/opensemanticetl/requirements.txt
A maioria dos contribuidores não são mostrados pela interface do usuário do Github como " Contribuidores " deste repositório, uma vez que este repositório principal é estruturado por submódulos Git como Open Semantic ETL e outros módulos, que são gerenciados em repositórios Git(hub) separados.
Então, obrigado a todos os colaboradores (atuais e antigos):
Sinta-se à vontade para estender se você contribuiu/apoiou/patrocinou de diferentes formas.