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 สำหรับการระบุภาษา