ข้ามไปที่เนื้อหาหลัก

Alfresco กับการ Search ภาษาไทย

เนื่องด้วยการ Search ถือเป็นหัวใจสำคัญของงาน ECM เลยก็ว่าได้ แต่ Alfresco ณ ปัจจุบันยังไม่รองรับการ Search ด้วยภาษาไทย แต่อย่างว่า Opensource เมื่อเรารู้ว่ามันใช้ Lucene เป็น engine ในการค้นหาเอกสาร เราก็เลยแงะไปยังตัว lucene เองพบว่ามีคนส่ง Patch ในการตัดคำไทยไปให้กับ lucene เรียบร้อยแล้ว โดยคุณสัมพันธ์นั่นเอง วิธีการ Config ให้ Alfresco ตัดคำไทยได้ผมสรุปออกมาเป็นขั้นตอนได้ดังนี้ครับ
  • ไปเพิ่ม Locale ให้ Alfresco รู้จัก ใน tomcat/shared/classes/alfresco/extension/web-client-config-custom.xml ตรง tag <languages> เพิ่ม <language locale="th_TH">Thai</language>
  • เข้าไป directory: tomcat/webapps/alfresco/WEB-INF/classes/alfresco/model แล้วทำการ copy file dataTypeAnalyzers_fr.properties หรือไฟล์อื่นก็ได้ เปลี่ยนชื่อเป็น dataTypeAnalyzers_th.properties แล้วเปิดไฟล์ขึ้นมาแก้ไขให้เป็น
d_dictionary.datatype.d_text.analyzer=org.apache.lucene.analysis.th.ThaiAnalyzer
d_dictionary.datatype.d_content.analyzer=org.apache.lucene.analysis.th.ThaiAnalyzer
    • หลังจากนั้นเมื่อทำการ login ให้เลือก language เป็น Thai
    เพียงเท่านี้ Alfresco ของเราก็สามารถเก็บ index เป็นภาษาไทยและสามารถค้นหาเอกสารที่เป็นภาษาไทยได้แล้วครับ

    ความคิดเห็น

    1. ขอบคุณค่าาา ติดตามตลอดเลย เขียนเรื่อง Alfresco ให้อ่านเยอะๆนะคะ เพิ่งจะเริ่มใช้ กำลังงงอยู่เลย ^^

      ตอบลบ
    2. ไม่ระบุชื่อ5:07 หลังเที่ยง

      ณ ตอนนี้ โดย Default Alfresco สามารถ search เป็นภาษาไทยได้ระดับหนึงถ้าเป็นตัวเต็มอย่างเช่น

      หาเอกสารชื่อ "ประชุม.txt" ด้วยคำว่า "ประชุม"

      แต่ถ้าเป็น "ประชุมและสัมมนา.txt" จะไม่สามารถใช้คำว่า "ประชุม" ค้นหาได้

      ลองใช้วิธีที่โพสแล้ว ก็ยังหาแบบข้อหลังไม่ได้นะคะ ถ้ายังไงจะพอมีวิธีอื่นที่ใช้ search ด้วยภาษาไทยบ้างไหมค่ะ?

      ตอบลบ
    3. สบายแระ
      ขอบคุณครับ :)

      ตอบลบ
    4. ในการตัดคำไทยตามที่ต้องการนั้นเราต้องทำการแก้ไขตัว Analyzer ของ Lucene ครับ เนื่องจากตัวที่เค้าให้มามี Dictionary เพียงไม่กี่คำ จึงทำให้การตัดคำไม่ค่อยดีเท่าที่ควรครับ แล้วผมจะมาเขียนวิธีการ implement อีกครั้งครับ ช่วงนี้งานรัดตัวและห่างหายจาก Alfresco ไปนานครับ ไว้กลับมาจะมีบทความตามมาอีกหลายตัวครับ

      ตอบลบ
    5. ไม่ระบุชื่อ4:15 หลังเที่ยง

      ใช้วิธีการนี้ในเวอร์ชั่น 4.0.e ได้หรือไม่ครับ

      ตอบลบ

    แสดงความคิดเห็น

    โพสต์ยอดนิยมจากบล็อกนี้

    หมดหวังกับรายการทีวีในประเทศไทย

    ไม่ได้เขียน Blog มานานสกิลด้านเขียนไม่รู้จะยังดีเหมือนเดิมมั้ยนะครับ (หัวข้อก็จะ clickbait  ตามแนว Content ยุคใหม่) จริงๆ แล้ว คิดจะเขียนมาตั้งนานแล้วแต่ไม่รู้จะเขียนอะไร พอดีวันนี้อ่านเจอโพสต์ของเพื่อนในเฟสบุ๊คที่แชร์มา หัวข้อประมาณว่า ประเทศไทยมีความพยายามทำให้คนโง่ลง คือผมก็ติดตามข่าวมาเรื่อยๆ ช่วงไปอยู่จีนก็ยังติดตามอยู่ แต่มีความรู้สึกว่าข่าวของประเทศเรากับประเทศจีนนี่คือคนละขั้วเลย ที่จีนข่าวส่วนใหญ่จะเป็นข่าวที่ค่อนข้างมีสาระ และไม่มีข่าวงมงาย น่าจะเนื่องมาจากกฎหมายของประเทศไทยที่ค่อนข้างคุมเข้มกับสื่อ ย้อนกลับมาที่ไทย ประเทศเราไม่มีกฎหมายคุมเข้มสื่อเหมือนประเทศจีนขนาดนั้น สื่อประเทศเราค่อนข้างมีอิสระในการนำเสนอ แต่หลังๆ มานี่ผมเห็นแต่ข่าวอาชญากรรม หรือข่าวให้หวยซะส่วนใหญ่ ก็เข้าใจว่าต้องการยอดผู้ชม แต่การที่สื่อนำเสนอแบบนั้นนี่ไม่แน่ใจว่าจะดีต่ออนาคตประเทศชาติหรือไม่นะครับ คนดูข่าวเพื่อจะรอเลขเอาไปซื้อหวย ไม่แน่ใจว่าสนใจอะไรมากกว่าระหว่างหวยกับข่าว ตอนจะมีกฎหมายหวยออนไลน์ก็เห็นออกมาต่อต้านบอกมอมเมาประชาชน แต่สิ่งที่สื่อกำลังนำเสนออยู่นั้นมันย้อนแย้งในตัวเองชอบกล...

    Alfresco from source

    การติดตั้ง Alfresco นั้นมีหลายวิธีด้วยกัน ผมขอแยกเป็นสามกรณีดังนี้ ติดตั้งจากตัว Installer ซึ่งวิธีนี้ถือว่าสะดวกที่สุดครับ เนื่องจากตัว Alfresco นั้นเตรียมเครื่องมือที่จำเป็นไว้ให้เกือบหมดแล้ว (บน Windows นี่ถือว่าพร้อมกับการทำงานทีเดียว ส่วนบน Unix จะต้องติดตั้ง MySQL ,Swf2PDF ImageMagick และ OOo - OpenOffice เองครับ เนื่องจากไม่สามารถรันได้แบบวินโดว์) ติดตั้งจากตัว Compiled Binary ซึ่งจะเป็นไฟล์ zip หรือ tarball ตามแต่ระบบปฏิบัติการ วิธีสุดท้ายเป็นวิธีที่ผมจะนำเสนอในตอนนี้คือการ Compile Source จาก SVN ครับ สองวิธีสุดท้ายนี้เราจำเป็นต้องหาพวก binary ของ third party มาลงเอง (แต่สำหรับ linux ไม่ว่าจะวิธีไหนเราก็ต้องหามาลงเองครับ) เราสามารถ Check out Source จาก repository จาก Alfresco ได้หลายวิธีไม่ว่าจะ Check out จาก Eclipse โดยผ่าน Subclipse หรือ Netbeans หรือแม้กระทั่ง SVN command line ก็สามารถทำได้ ในที่นี้ผมจะขอเลือกใช้แบบ Command line ซึ่งเป็นวิธีที่สะดวกที่สุด เพราะมีมาให้กับ linux อยู่แล้วหรือหากใครใช้ Windows อยู่ ผมขอแนะนำให้ติดตั้ง SlikSVN 1.5.x เนื่องจากขั้นตอน build นั้นจำ...

    Alfresco กับ XForm

    XForm นั้นเป็น Specification ที่น่าจะกลายเป็นมาตรฐานในอนาคตเนื่องจากเว็บต่างจำเป็นต้องใช้ Form ในการติดต่อกับผู้ใช้เป็นส่วนใหญ่ ส่วนตัว implement นั้นมีหลายตัวด้วยกันไว้ผมจะเอามาบอกในบทความต่อๆ ไป แต่คราวนี้เรามาดูใน Alfresco กันครับ ใน Version 3.2 นั้น Alfresco ได้เลือก Chiba ในเป็น Engine ในการจัดการกับ XForm ครับ แต่ก็นั่นแหละครับทำให้เราจำเป็นต้องลง virtual tomcat สำหรับรัน WCM (virtual tomcat คือ tomcat อีกตัวไว้สำหรับทำหน้าที่ติดต่อกับ user โดยทั่วไป หรือเรียกว่าเอาไว้เป็นหน้าด่านว่าเอกสารอะไรที่เราต้องการเผยแพร่เราก็สามารถ publish ไปยัง WCM ได้) ตอนนี้ orbeon (เป็น XForm engine อีกตัว) สามารถทำการเชื่อมต่อกับ Alfresco ได้แล้วต่อไปถ้าเราจะสร้าง XForm คงง่ายขึ้นเป็นกองเพราะ orbeon เป็น XForm server ที่ไว้สร้าง Form แบบ virtual เลย(ลากแปะๆ แนะนำให้ลองเข้าไปเล่น demo ของ orbeon ดูครับ น่าเล่นมาก) แต่ตัวนี้ผมยังไม่ได้ลองทำดูนะครับ พอดีค้นหาเจอเลยนำมาลง blog ไว้ก่อน ไว้ถ้าทดสอบแล้วได้ความว่าอย่างไรจะมารายงานอีกรอบ