Docindex é o processo de lote usado para alimentar o DocMag, um front-end ao Elasticsearch que permite que a pesquisa de documentos do lado do servidor seja simples.
O DocIndex pode ser executado diretamente em um sistema operacional, no entanto, é recomendável ser executado em um contêiner do Docker. O contêiner é composto dentro do docker-compose.yml.
Normalmente, você não deseja construir e executar o DocidX localmente; em vez disso, é melhor executar o contêiner do Docker publicado em: https://hub.docker.com/r/deckerego/docidx/
Como o DOCIDX depende fortemente do processamento da visão e do processamento de imagens, as ligações às bibliotecas nativas são fortemente usadas. As distribuições Java embaladas com bibliotecas nativas são uma dor gigante na bunda - portanto, alavancando os recipientes do Docker para enviar as coisas por padrão. Se você deseja apenas colocar o DocidX em funcionamento e o Docker será o caminho mais fácil, mas se você quiser ajustar o código e executá -lo localmente, precisará pular alguns aros para instalar o Libs nativo.
O DOCIDX usa ligações para bibliotecas nativas OpenEncv e Tesseract. As bibliotecas OpenCV são especialmente sensíveis à versão. Para instalar as bibliotecas nativas do TESSEARACT no macOS, você pode usar o HomeBrew, como em:
brew install tesseract
Infelizmente, o OpenCV 3.2 não é construído corretamente sob o homebrew. Para o MacOS, o OpenCV precisa ser construído a partir da fonte. Isso pode ser feito com:
wget https://github.com/opencv/opencv/archive/3.2.0.tar.gz
tar xzf 3.2.0.tar.gz
mkdir opencv-3.2.0/build
cd opencv-3.2.0/build
cmake .. -DBUILD_opencv_java=ON
make
make install
As distribuições Linux geralmente são enviadas com TESSERACT e OPENCV 3.2, como no Ubuntu (Bionic):
apt-get install tesseract-ocr libopencv3.2-jni
Após a instalação das bibliotecas nativas, a construção e os testes podem ser realizados localmente com a Boot Maven e Spring:
mvn -DargLine="-Djava.library.path=/usr/local/share/OpenCV/java/" install
Se você também gostaria de aumentar uma instância local de pesquisa Elasticsearch e Kibana para teste, pode implantar ambos com as configurações do Docker nos tests/ diretório:
cd tests
docker-compose up -d
Para pesquisar em seus documentos, use DocMag disponível em https://github.com/deckerego/docmag
Você também pode consultar o Elasticsearch diretamente usando a API ou as ferramentas de desenvolvimento de Kibana. Uma consulta enviada pela API pode ser:
GET /docidx/_search
{"query": { "simple_query_string" :
{ "query": "water bill" }
}}