DocIndex هي عملية الدُفعات المستخدمة لتغذية Docmag ، وهي واجهة أمامية لـ Elasticsearch التي تتيح البحث عن المستندات من جانب الخادم.
يمكن تشغيل DocIndex مباشرة على نظام التشغيل ، ومع ذلك يوصى بتشغيله داخل حاوية Docker. تتكون الحاوية داخل Docmag docker-corm.yml.
عادةً ما لا ترغب في إنشاء وتشغيل Docidx محليًا ، بدلاً من ذلك ، من الأفضل تشغيل حاوية Docker المنشورة على: https://hub.docker.com/r/deckerego/docidx/
نظرًا لأن Docidx يعتمد بشكل كبير على رؤية الكمبيوتر ومعالجة الصور ، يتم استخدام الارتباطات للمكتبات الأصلية بشكل كبير. توزيعات Java المعبأة مع المكتبات الأصلية هي ألم عملاق في المؤخرة - وبالتالي الاستفادة من حاويات Docker لشحن الأشياء بشكل افتراضي. إذا كنت ترغب فقط في الحصول على Docidx و Running Docker ، فستكون أسهل طريقة للذهاب ، ولكن إذا كنت ترغب في تعديل الكود وتشغيله محليًا ، فستحتاج إلى القفز من خلال بعض الأطواق لتثبيت Libs الأصلي.
يستخدم Docidx روابط للمكتبات الأصلية OpenCV و Tesseract. مكتبات OpenCV حساسة للنسخة بشكل خاص. لتثبيت مكتبة Tessearact الأصلية في MacOS ، يمكنك استخدام Homebrew ، كما في:
brew install tesseract
لسوء الحظ ، لا يبني OpenCV 3.2 بشكل صحيح تحت البيرة. بالنسبة إلى 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 مع Tesseract و OpenCV 3.2 ، كما هو الحال مع Ubuntu (Bionic):
apt-get install tesseract-ocr libopencv3.2-jni
بعد تثبيت المكتبات الأصلية ، يمكن إجراء البناء والاختبار محليًا مع Maven و Spring Boot:
mvn -DargLine="-Djava.library.path=/usr/local/share/OpenCV/java/" install
إذا كنت ترغب أيضًا في زيادة مثيل Elasticsearch و Kibana المحلي للاختبار ، فيمكنك نشر كل من Docker Configs في tests/ الدليل:
cd tests
docker-compose up -d
للبحث داخل المستندات الخاصة بك ، استخدم docmag متاحًا على https://github.com/deckerego/docmag
يمكنك أيضًا الاستعلام عن Elasticsearch مباشرة باستخدام أدوات DEV API أو Kibana. قد يكون الاستعلام المرسلة عبر واجهة برمجة التطبيقات:
GET /docidx/_search
{"query": { "simple_query_string" :
{ "query": "water bill" }
}}