• เพิ่มหน้าแสดงข้อมูลเอกสารตามโครงสร้าง เพื่อความสดวกในการตรวจสอบ เช่น ตรวจสอบเอกสาร BR2546035

  • การให้ความสำคัญกับลำดับคำ เช่น 5 ธันวาคม จุฬา จะแสดงผลข้อมูลที่มีเนื้อหาตามลำดับก่อน จากเดิมที่อาจจะเป็น ธันวาคม 5 จุฬา

  • ปรับปรุง API search/query ให้รองรับการค้นหาจากหลายๆหมวดพร้อมกันได้

  • เพิ่ม api list document book แสดงรายการหนังสือทั้งหมด ui/#!/list/documentBook
  • เพิ่ม variable bookcode ใน api ค้นหาเอกสาร

  • เพิ่ม api document ui เพื่อให้นักพัฒนาทดสอบ และนำไปใช้งานได้ง่ายขึ้น Document UI

  • เพิ่ม log บันทึกผลการค้นหาเพื่อนำไปใช้ในการวิเคราะห์ข้อมูลภายหลัง

  • รองรับการค้นหาคำค้นในลักษณะวันที่ได้ เช่น '25 ธันวาคม 59', '25ธันวาคม59', '25ธค59', '25 ธค 59', '25 ธค '
  • รองรับการค้นหาคำค้นในลักษณะตัวเลขติดกับข้อความได้ เช่น 'กองร้อยที่2'
  • รองรับการแสดงผล highlight คำค้นทุกคำภายใต้เงื่อนไข "และ" แม้คำค้นจะอยู่ห่างงกันจากต้นเอกสาร และท้ายเอกสาร

  • เพิ่ม API /search/history/ รองรับการแสดงรายการ วันนี้ในอดีต
  • เพิ่ม API /search/timeline/ รองรับการแสดงรายการ ดูเหตุการณ์ต่อมาจากวันที่กำหนด โดยการใช้วันที่เป็นข้อมูลอ้างอิง

  • เพิ่ม API /search/relate/ รองรับการค้นหาข้อมูลที่เกี่ยวข้อง เพื่อนำเสนอข้อมูลอื่นๆให้ผู้ใช้งาน

  • รองรับการแสดงผลหน้าซ้ายขวา ด้วย API option bookView

  • เพิ่ม URL เอกสารโดยอ้างอิงรหัสแทนเลขที่ เพื่อป้องกันการเปลี่ยนแปลง url ในอนาคต เช่นจากอ้างอิง ?load=view&id=123 เป็น ?load=view&book=BN2559&chapter=T0001&page=T0001_0001

  • เปิดใช้งานระบบ Search API v. 1.0
  • Apache web server
  • PHP 5.4 ขึ้นไป
  • MySQL 5.6 Engine MyISAM or InnoDB support UTF8 (เป็น version ที่รองรับ fulltext search)
  • Memcached หรือ Memcache (optional) รองรับการทำ cache ข้อมูลทำให้ไม่ต้องดึงข้อมูลใหม่ทุกครั้ง แต่ดึงจาก cache แทน
  • Elasticsearch (optional) ระบบการทำดัชนีเอกสารทำให้การค้นหามีความรวดเร็วยิ่งขึ้น
  • Nodejs Expressjs pm2 request (optional) สำหรับ demo ข้อมูลหน้าค้นหา

การตั้งค่าและการแก้ไขปัญหาระบบเบื้องต้น โดยข้อมูลนี้อ้างอิงจากเครื่องทดสอบ อาจมีการเปลี่ยนแปลงคำสั่งต่างๆได้เมื่ออยู่บนระบบจริง

  • Memcached
    ข้อมูลออ้างอิง How To Install and Use Memcache on Ubuntu 14.04
    ตรวจสอบสถาณะการทำงานของ Memcached
    watch "echo stats | nc 127.0.0.1 11211"
    restart memcached เพื่อเริ่มต้นระบบเก็บ cached ใหม่ ซึ่งจะคืนหน่วยความจำให้ระบบด้วย
    sudo /etc/init.d/memcached restart
  • Elasticsearch
    ส่วนของการทำดัชนีเอกสารที่ช้วยทำให้การค้นหาข้อมูลในปริมาณมากๆสามารถเข้าถึงได้เร็ว ระบบค้นหารองรับการเปิดใช้งาน หรือปิดการใช้งาน Elasticsearch อยู่แล้ว ซึ่งเมื่อเปิดการใช้งานระบบจะไปเรียกใช้ MySQL แทน
    ข้อมูลออ้างอิง How To Install and Configure Elasticsearch on Ubuntu 14.04
    ทดลองเรียกใช้งาน elasticsearch
    curl -XGET http://localhost:9200
    rrestart elasticsearch
    sudo /etc/init.d/elasticsearch restart
  • NodeJS
    ส่วนของการส่งข้อมูลผ่าน socket โดยฝั่ง client ทำการส่งข้อมูลไปยัง server เช่น ส่งคำค้นไป โดยไม่ต้องรอ respond จาก server ในทันที จากนั้น server จะส่งข้อมูลมาที่เครื่อง client เองผ่าน socket โดยผ่านตัวจัดการ PM2
    เปิดการใช้งาน nodejs script และตรวจสอบสถานะ
    pm2 start index.js --watch
    กรณีเปิดใช้งานจริงไม่ต้องเพิ่ม option --watch

©2018 narkdeveloper.com