TIKA - สถาปัตยกรรม
สถาปัตยกรรมระดับแอปพลิเคชันของ Tika
โปรแกรมเมอร์แอปพลิเคชันสามารถรวม Tika ในแอปพลิเคชันได้อย่างง่ายดาย Tika มี Command Line Interface และ GUI เพื่อให้ใช้งานง่าย
ในบทนี้เราจะพูดถึงโมดูลสำคัญสี่โมดูลที่ประกอบกันเป็นสถาปัตยกรรม Tika ภาพประกอบต่อไปนี้แสดงสถาปัตยกรรมของ Tika พร้อมกับโมดูลสี่โมดูล -
- กลไกการตรวจจับภาษา
- กลไกการตรวจจับ MIME
- อินเทอร์เฟซ Parser
- ชั้น Tika Facade
กลไกการตรวจจับภาษา
เมื่อใดก็ตามที่ส่งเอกสารข้อความไปยัง Tika เอกสารนั้นจะตรวจพบภาษาที่ใช้เขียน ยอมรับเอกสารที่ไม่มีคำอธิบายประกอบภาษาและเพิ่มข้อมูลนั้นในข้อมูลเมตาของเอกสารโดยการตรวจจับภาษา
เพื่อรองรับการระบุภาษา Tika มีคลาสที่เรียกว่า Language Identifier ในแพ็คเกจ org.apache.tika.languageและที่เก็บการระบุภาษาภายในซึ่งมีอัลกอริทึมสำหรับการตรวจหาภาษาจากข้อความที่กำหนด Tika ใช้อัลกอริทึม N-gram ภายในสำหรับการตรวจจับภาษา
กลไกการตรวจจับ MIME
Tika สามารถตรวจจับประเภทเอกสารตามมาตรฐาน MIME เริ่มต้นการตรวจสอบประเภท MIME ใน Tika จะกระทำโดยใช้org.apache.tika.mime.mimeTypes ใช้อินเทอร์เฟซorg.apache.tika.detect.Detectorสำหรับการตรวจจับชนิดเนื้อหาส่วนใหญ่
Tika ภายในใช้เทคนิคต่างๆเช่นไฟล์ globs คำแนะนำประเภทเนื้อหาไบต์เวทย์มนตร์การเข้ารหัสอักขระและเทคนิคอื่น ๆ อีกมากมาย
พาร์เซอร์อินเทอร์เฟซ
อินเทอร์เฟซ parser ของ org.apache.tika.parser คืออินเทอร์เฟซหลักสำหรับการแยกวิเคราะห์เอกสารใน Tika อินเทอร์เฟซนี้แยกข้อความและข้อมูลเมตาจากเอกสารและสรุปสำหรับผู้ใช้ภายนอกที่ยินดีที่จะเขียนปลั๊กอินตัวแยกวิเคราะห์
การใช้คลาสตัวแยกวิเคราะห์คอนกรีตที่แตกต่างกันโดยเฉพาะสำหรับเอกสารแต่ละประเภท Tika รองรับรูปแบบเอกสารจำนวนมาก คลาสเฉพาะของรูปแบบเหล่านี้ให้การสนับสนุนสำหรับรูปแบบเอกสารที่แตกต่างกันไม่ว่าจะโดยการใช้ตรรกะตัวแยกวิเคราะห์โดยตรงหรือโดยใช้ไลบรารีตัวแยกวิเคราะห์ภายนอก
ชั้น Tika Facade
การใช้คลาส Tika facade เป็นวิธีที่ง่ายและตรงที่สุดในการเรียก Tika จาก Java และเป็นไปตามรูปแบบการออกแบบซุ้ม คุณสามารถค้นหาคลาส Tika facade ได้ในแพ็คเกจ org.apache.tika ของ Tika API
โดยการนำกรณีการใช้งานพื้นฐาน Tika ทำหน้าที่เป็นนายหน้าของภูมิทัศน์ โดยสรุปความซับซ้อนพื้นฐานของไลบรารี Tika เช่นกลไกการตรวจจับ MIME อินเตอร์เฟสตัวแยกวิเคราะห์และกลไกการตรวจจับภาษาและให้อินเทอร์เฟซที่เรียบง่ายแก่ผู้ใช้
คุณสมบัติของ Tika
Unified parser Interface- Tika รวมไลบรารีตัวแยกวิเคราะห์ของบุคคลที่สามทั้งหมดไว้ในอินเทอร์เฟซตัวแยกวิเคราะห์เดียว เนื่องจากคุณลักษณะนี้ผู้ใช้จะหลีกหนีจากภาระในการเลือกไลบรารีตัวแยกวิเคราะห์ที่เหมาะสมและใช้งานตามประเภทไฟล์ที่พบ
Low memory usage- Tika ใช้ทรัพยากรหน่วยความจำน้อยลงดังนั้นจึงสามารถฝังกับแอปพลิเคชัน Java ได้อย่างง่ายดาย นอกจากนี้เรายังสามารถใช้ Tika ภายในแอปพลิเคชันที่ทำงานบนแพลตฟอร์มที่มีทรัพยากรน้อยเช่น PDA มือถือ
Fast processing - สามารถตรวจจับและดึงเนื้อหาอย่างรวดเร็วจากแอปพลิเคชันได้
Flexible metadata - Tika เข้าใจโมเดลข้อมูลเมตาทั้งหมดที่ใช้อธิบายไฟล์
Parser integration - Tika สามารถใช้ไลบรารีตัวแยกวิเคราะห์ต่างๆที่มีให้สำหรับเอกสารแต่ละประเภทในแอปพลิเคชันเดียว
MIME type detection - Tika สามารถตรวจจับและแยกเนื้อหาจากสื่อทุกประเภทที่รวมอยู่ในมาตรฐาน MIME
Language detection - Tika มีคุณสมบัติการระบุภาษาดังนั้นจึงสามารถใช้ในเอกสารตามประเภทภาษาในเว็บไซต์หลายภาษา
ฟังก์ชั่นของ Tika
Tika รองรับฟังก์ชันที่หลากหลาย -
- การตรวจหาประเภทเอกสาร
- การแยกเนื้อหา
- การแยกข้อมูลเมตา
- การตรวจจับภาษา
การตรวจจับประเภทเอกสาร
Tika ใช้เทคนิคการตรวจจับต่างๆและตรวจจับประเภทของเอกสารที่กำหนดให้
การแยกเนื้อหา
Tika มีไลบรารีตัวแยกวิเคราะห์ที่สามารถแยกวิเคราะห์เนื้อหาของรูปแบบเอกสารต่างๆและแยกออกได้ หลังจากตรวจพบชนิดของเอกสารแล้วจะเลือกตัวแยกวิเคราะห์ที่เหมาะสมจากที่เก็บตัวแยกวิเคราะห์และส่งผ่านเอกสาร ชั้นเรียนต่างๆของ Tika มีวิธีการแยกวิเคราะห์รูปแบบเอกสารที่แตกต่างกัน
การแยกข้อมูลเมตา
นอกจากเนื้อหาแล้ว Tika จะแยกข้อมูลเมตาของเอกสารด้วยขั้นตอนเดียวกับในการแยกเนื้อหา สำหรับเอกสารบางประเภท Tika มีคลาสสำหรับดึงข้อมูลเมตา
การตรวจจับภาษา
ภายใน Tika ทำตามอัลกอริทึมเช่น n-gramเพื่อตรวจหาภาษาของเนื้อหาในเอกสารที่กำหนด Tika ขึ้นอยู่กับคลาสเช่นLanguageidentifier และ Profiler สำหรับการระบุภาษา