ใน Alfresco เราสามารถค้นหาเอกสารได้ 2 รูปแบบ คือ การค้นหาประเภทแรก จะเป็นการค้นหาตาม ชุด Index ของเอกสาร เช่น ในกรณีที่เราออกแบบ ประเภทของเอกสารใบสั่งซื้อ เราอาจจะออกแบบชุด Index ได้แก่ Po Number, Supplier Name, Project Name, … ซึ่งทำให้เราสามารถค้นหาเอกสาร ได้ตามประเภทของเอกสาร รวมถึงสามารถค้นหาได้ตาม ชุด Index ของเอกสารได้อีกด้วย ตามรูปด้านล่าง

1

การค้นหาประเภทที่สอง จะเป็นการค้นหาในเนื้อของเอกสาร หรือที่เราเรียกว่า Full Text Search ยกตัวอย่างเช่น ถ้าเรา Upload เอกสารเข้าไปเก็บใน Alfresco เป็นไฟล์ PDF ซึ่งภายในเอกสารประกอบด้วยเนื้อหาจำนวน 200 หน้า เราสามารถทำการค้นหาข้อความในเนื้อหาของเอกสารนั้นๆ ได้ สำหรับในบทนี้ ผมจะอธิบายเกี่ยวกับการค้นหาเอกสาร ในลักษณะของ Full Text Searchครับ

2

สำหรับการค้นหาเอกสารแบบ Full Text นั้น Alfresco 4.0 เลือกใช้ Search Engine ชื่อ Solr นะครับ ซึ่งเป็น Open Source Search Engine ยอดนิยม ที่มีการใช้งานอย่างแพร่หลาย และมีประสิทธิภาพสูง (สำหรับ Version ที่ต่ำกว่า 4 นั้น ใช้ Search Engine ชื่อ Lucene ซึ่ง Alfresco ก็ยัง Support อยู่นะครับ)

โดยปกติเมื่อเราได้ติดตั้ง Alfresco เรียบร้อยแล้ว Alfresco จะติดตั้ง Solr Search Engine เข้าไปด้วยนะครับ โดย Alfresco จะมี Path ที่ใช้เก็บไฟล์ที่มีการ Build Index และไฟล์ Config ต่างๆ ไว้ที่ /alf_data/solr

3

เมื่อมีไฟล์ถูก Upload เข้ามาเก็บที่ Alfresco จะมี Process ในการ Build Index เป็น Background Process อยู่ภายใน ดังนั้นบางครั้งเมื่อมีการ Upload ไฟล์ขนาดใหญ่ หรือ หลายๆไฟล์ พร้อมๆกัน บางครั้งต้องใช้เวลาสักพักเพื่อให้ Server ทำการ Build Index ให้เสร็จ เราถึงจะสามารถทำการ ค้นหาข้อมูลแบบ Full Text ได้ ดังตัวอย่างต่อไปนี้ ครับ

ทำการ Upload ไฟล์เข้าไปเก็บใน Alfresco ดังรูปนะครับ โดยอาจจะทำการ Upload เอกสารที่เป็นภาษาไทยก็ได้นะครับ เพื่อทดสอบการค้นหาเอกสารที่เป็นภาษาไทย ดังรูปนะครับ

4

ขั้นต่อไปเราจะทำการค้นหาข้อมูล โดยใช้ Full Text Search นะครับ โดยการคลิกที่ ช่อง Search ทางด้านบนขวา ของ Screen ใส่คำที่ต้องการค้นหาลงไปนะครับ เช่น ในเอกสารที่ Upload ไปมีคำว่า “ต่างๆ” อยู่ในเอกสาร ดังนั้นผมจะ Search คำว่า “ต่างๆ” นะครับ ดังรูป

6

ผลที่เกิดขึ้นคือ Alfresco สามารถค้นหาเอกสารได้ตามต้องการนะครับ ดังรูป

7

มีจุดที่จะต้องสังเกตนิดหน่อยตรงด้านบน มี คำว่า “All Sites | Repository” นะครับ All Sites จะหมายถึง การค้นหาเอกสารภายใน Site ต่างๆ ส่วน Repository จะหมายถึงการค้นหาเอกสารใน Repository นะครับ ทดลองคลิกไปมาดูนะครับเพื่อดูผลการค้นหาข้อมูล จากนั้นทดสอบต่อไปโดยการใส่ “*” ระหว่างคำที่เราต้องการค้นหานะครับ ดังรูป จะได้ผลการค้นหาที่ต่างออกไปนะครับ ดังรูปนะครับ

8

สาเหตุเนื่องมาจากว่า ในบางเอกสารคำว่า “ต่างๆ” จะอยู่ชิดกับคำอื่นๆ อยู่ ดังนั้นเมื่อเราค้นหาคำว่า “ต่างๆ” Alfresco จึงมองว่า ไม่มีนะครับ แต่ถ้าหากว่าเราใส่ “*” หน้าคำที่เราต้องการค้นหา จะหมายถึง ข้างหน้าจะเป็นอะไรก็ได้นะครับ และถ้าหากว่า บังเอิญคำว่า “ต่างๆ” อยู่ชิดกับคำหรือประโยคอื่นๆ ทางด้านหลัง การใส่ “*” ทางด้านหลังก็จะทำให้เราหาคำว่า “ต่างๆ” เจอนะครับ

นอกจากนั้น เรายังสามารถใช้เงื่อนไขต่างๆในการค้นหาได้อีกเช่น การใช้ && (and), || (or), !(not) ในการค้นหาข้อมูลได้อีก เช่น ถ้าเราต้องการค้นหาข้อมูลที่มีคำว่า “ต่างๆ“ และ ไม่มีคำว่า “และ” อยู่ในเอกสาร เราจะใช้คำสั่ง ดังนี้ คือ
*ต่างๆ* && !และ

9

Comments are closed.