Docindex es el proceso por lotes utilizado para alimentar a DocMag, un front-end a Elasticsearch que permite que la búsqueda de documentos del lado del servidor sea simple.
DocIndex se puede ejecutar directamente en un sistema operativo, sin embargo, se recomienda ejecutar dentro de un contenedor Docker. El contenedor está compuesto dentro del docmag docker-composa.yml.
Por lo general, no querrá construir y ejecutar Docidx localmente, en su lugar, es mejor ejecutar el contenedor Docker publicado en: https://hub.docker.com/r/deckergo/docidx/
Dado que DocidX depende en gran medida de la visión por computadora y el procesamiento de imágenes, los enlaces a las bibliotecas nativas se usan en gran medida. Las distribuciones de Java empaquetadas con bibliotecas nativas son un dolor gigante en el trasero, por lo tanto, aprovechando los contenedores de Docker para enviar cosas por defecto. Si solo desea que Docidx funcione en funcionamiento Docker será el camino más fácil, pero si desea ajustar el código y ejecutarlo localmente, deberá saltar a través de algunos aros para instalar las libs nativas.
DOCIDX utiliza enlaces para las bibliotecas nativas de OpenCV y Tesseract. Las bibliotecas OpenCV son especialmente sensibles a la versión. Para instalar las libriarias nativas de Tessearact en macOS, puede usar HomeBrew, como en:
brew install tesseract
Desafortunadamente, OpenCV 3.2 no se construye correctamente bajo Homebrew. Para MacOS, OpenCV debe construirse desde la fuente. Esto se puede hacer con:
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
Las distribuciones de Linux a menudo se envían con Tesseract y OpenCV 3.2, como con Ubuntu (Bionic):
apt-get install tesseract-ocr libopencv3.2-jni
Después de instalar las bibliotecas nativas, la construcción y las pruebas se pueden realizar localmente con Maven y Boot Spring:
mvn -DargLine="-Djava.library.path=/usr/local/share/OpenCV/java/" install
Si también desea girar una instancia local de ElasticSearch y Kibana para las pruebas, puede implementar ambas con configuraciones de Docker en las tests/ directorio:
cd tests
docker-compose up -d
Para buscar dentro de sus documentos, use DocMag disponible en https://github.com/deckergo/docmag
También puede consultar ElasticseSearch directamente utilizando las herramientas API o de desarrollo de Kibana. Una consulta enviada sobre la API podría ser:
GET /docidx/_search
{"query": { "simple_query_string" :
{ "query": "water bill" }
}}