DocIndex เป็นกระบวนการแบตช์ที่ใช้ในการป้อน DocMag ซึ่งเป็นส่วนหน้าไปยัง Elasticsearch ที่อนุญาตให้การค้นหาเอกสารฝั่งเซิร์ฟเวอร์ง่าย
DocIndex สามารถเรียกใช้โดยตรงบนระบบปฏิบัติการ แต่ขอแนะนำให้ทำงานภายในคอนเทนเนอร์ Docker คอนเทนเนอร์ประกอบด้วยภายใน docmag docker-compose.yml
โดยปกติคุณจะไม่ต้องการสร้างและเรียกใช้ DocIDX ในเครื่อง แต่เป็นการดีที่สุดที่จะเรียกใช้คอนเทนเนอร์ Docker ที่เผยแพร่ได้ที่: https://hub.docker.com/r/deckerego/docidx/
เนื่องจาก DOCIDX อาศัยการมองเห็นคอมพิวเตอร์และการประมวลผลภาพเป็นอย่างมาก การแจกแจง Java ที่บรรจุด้วยไลบรารีพื้นเมืองเป็นอาการปวดยักษ์ในก้น - ดังนั้นจึงใช้ประโยชน์จากคอนเทนเนอร์ Docker เพื่อจัดส่งสิ่งต่าง ๆ โดยค่าเริ่มต้น หากคุณเพียงแค่ต้องการให้ DocIDX ขึ้นและเรียกใช้ Docker จะเป็นวิธีที่ง่ายที่สุด แต่ถ้าคุณต้องการปรับแต่งรหัสและเรียกใช้ในพื้นที่คุณจะต้องข้ามห่วงบางส่วนเพื่อติดตั้ง LIB ดั้งเดิม
DOCIDX ใช้การเชื่อมโยงสำหรับไลบรารี OpenCV และ Tesseract Native ไลบรารี OpenCV มีความไวโดยเฉพาะอย่างยิ่ง ในการติดตั้ง Libriaries Tessearact ดั้งเดิมใน MacOS คุณสามารถใช้ 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 มักจะจัดส่งด้วย 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 โดยตรงโดยใช้เครื่องมือพัฒนาของ API หรือ Kibana แบบสอบถามที่ส่งผ่าน API อาจเป็น:
GET /docidx/_search
{"query": { "simple_query_string" :
{ "query": "water bill" }
}}