DocIndex est le processus par lots utilisé pour nourrir DocMag, un frontal à Elasticsearch qui permet à la recherche de documents côté serveur d'être simple.
DocIndex peut être exécuté directement sur un système d'exploitation, mais il est recommandé d'être exécuté dans un conteneur Docker. Le conteneur est composé dans le docmag docker-compose.yml.
Habituellement, vous ne voudrez pas construire et exécuter Docidx localement, il est préférable d'exécuter le conteneur Docker publié sur: https://hub.docker.com/r/deckerego/docidx/
Étant donné que Docidx s'appuie fortement sur la vision par ordinateur et le traitement d'image, les liaisons aux bibliothèques natives sont fortement utilisées. Les distributions Java emballées avec les bibliothèques natives sont une douleur géante dans les fesses - donc en tirant parti des conteneurs Docker pour expédier les choses par défaut. Si vous voulez simplement obtenir Docidx opérationnel Docker sera le moyen le plus simple, mais si vous souhaitez modifier le code et l'exécuter localement, vous devrez sauter dans des cerceaux pour installer les LIB natives.
Docidx utilise des liaisons pour les bibliothèques natives OpenCV et Tesseract. Les bibliothèques OpenCV sont particulièrement sensibles à la version. Pour installer les bibliries TesSearact natives dans MacOS, vous pouvez utiliser Homebrew, comme dans:
brew install tesseract
Malheureusement, OpenCV 3.2 ne se construit pas correctement sous Homebrew. Pour MacOS, OpenCV doit être construit à partir de la source. Cela peut être fait avec:
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
Les distributions Linux sont souvent expédiées avec Tesseract et OpenCV 3.2, comme avec Ubuntu (bionic):
apt-get install tesseract-ocr libopencv3.2-jni
Une fois les bibliothèques natives installées, la construction et les tests peuvent être effectués localement avec Maven et Spring Boot:
mvn -DargLine="-Djava.library.path=/usr/local/share/OpenCV/java/" install
Si vous souhaitez également tourner une instance locale Elasticsearch et Kibana pour les tests, vous pouvez déployer les deux avec des configurations Docker dans les tests/ répertoire:
cd tests
docker-compose up -d
Pour rechercher dans vos documents, utilisez DocMag disponible sur https://github.com/deckerego/docmag
Vous pouvez également interroger Elasticsearch directement à l'aide de l'API ou des outils de développement de Kibana. Une requête envoyée sur l'API pourrait être:
GET /docidx/_search
{"query": { "simple_query_string" :
{ "query": "water bill" }
}}