docindexは、サーバー側のドキュメント検索を簡単にするためのフロントエンドのElasticsearchであるDocmagのフィードに使用されるバッチプロセスです。
DocindexはOSで直接実行できますが、Dockerコンテナ内で実行することをお勧めします。コンテナは、docmag docker-compose.yml内で構成されています。
通常、docidxをローカルに構築して実行することはできません。代わりに、https://hub.docker.com/r/deckergo/docidx/で公開されているDockerコンテナを実行するのが最善です。
Docidxはコンピュータービジョンと画像処理に大きく依存しているため、ネイティブライブラリへのバインディングが非常に使用されています。ネイティブライブラリを使用したパッケージ化されたJava分布は、お尻の大きな痛みです。したがって、Dockerコンテナを活用してデフォルトで物を出荷します。 Docidxを稼働させたい場合は、Dockerを実行するのが最も簡単な方法ですが、コードを微調整してローカルに実行したい場合は、ネイティブLIBをインストールするためにいくつかのフープを飛び越える必要があります。
Docidxは、OpenCVおよびTesseractネイティブライブラリにバインディングを使用します。 OPENCVライブラリは、特にバージョンに敏感です。 MacOSにネイティブのTessearact Libriariesをインストールするには、次のようにHomeBrewを使用できます。
brew install tesseract
残念ながら、OpenCV 3.2は、HomeBrewの下で適切に構築されません。 MacOSの場合、OpenCVはソースから構築する必要があります。これは次のことで行うことができます。
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
Linux分布は、Ubuntu(Bionic)などのTesseractおよびOpenCV 3.2で発送されることがよくあります。
apt-get install tesseract-ocr libopencv3.2-jni
ネイティブライブラリがインストールされた後、MavenおよびSpring Bootで構築とテストをローカルに実行できます。
mvn -DargLine="-Djava.library.path=/usr/local/share/OpenCV/java/" install
また、テストのためにローカルElasticsearchとKibanaインスタンスをスピンアップしたい場合は、 tests/ディレクトリにDocker構成で両方を展開できます。
cd tests
docker-compose up -d
ドキュメント内で検索するには、https://github.com/deckerego/docmagで入手可能なdocmagを使用してください
また、APIまたはKibanaの開発ツールを使用してElasticSearchを直接クエリすることもできます。 APIを介して送信されたクエリは次のとおりです。
GET /docidx/_search
{"query": { "simple_query_string" :
{ "query": "water bill" }
}}