Drupal Thai Search Module
ผมได้ทดลองปรับแต่งโมดูล search ของ drupal โดยแกะโค๊ดดู แล้วลองปรับแต่ง ปรากฎว่าสามารถแก้ปัญหาการ search ได้ในระดับหนึ่งเลยนำมาให้เพื่อนๆลองทดสอบกันดู โดยทำตามนี้ครับ
1. หลังจากติดตั้งโมดูล search แล้ว เราต้องแก้โค๊ดในไฟล์ search.module เมื่อหาเจอก็เปิดขึ้นมาเลยครับ
2. ค้นหาโค๊ด $text = preg_replace('/['. PREG_CLASS_SEARCH_EXCLUDE .']+/u', ' ', $text); แล้วให้ comment ทิ้ง ก็จะเป็น //$text = preg_replace('/['. PREG_CLASS_SEARCH_EXCLUDE .']+/u', ' ', $text); สาเหตุที่ทำอย่างนี้ก็เพราะว่า โค๊ดนี้จะทำการตัดคำ ซึ่งจะใช้ได้ดีในภาษาอังกฤษ แต่กับภาษาไทยจะทำให้เพี้ยน ซึ่งเป็นสาเหตุหลักที่ drupal ทำการ search ภาษาไทยไม่เจอ
3. ค้นหาโค๊ด $query2 = substr(str_repeat("i.word = '%s' OR ", count($arguments2)), 0, -4); แล้วเปลี่ยนเป็น $query2 = substr(str_repeat("i.word LIKE '%%%s%' OR ", count($arguments2)), 0, -4); สาเหตุที่ทำอย่างนี้ก็เพราะว่า โค๊ดนี้เราไม่ต้องการใช้เท่ากับ แต่ต้องการใช้ LIKE แบบส่วนใดส่วนหนึ่งของคำค้น ซึ่งจะทำให้สามารถหาคำไทยเจอในประโยค จากนั้นบันทึกไฟล์นี้
4. สุดท้ายทำการรัน cron (Administer › Reports > Status report > Cron maintenance tasks > run cron manually) เพื่อจะทำการ re-index ใหม่ แล้วลองทดสอบ search ดู
หากเพื่อนๆลองแล้ว ได้หรือไม่ได้ผลยังไง แจ้งด้วยนะครับ จะได้นำไปปรับปรุง

ตัวนี้ใช่มัั้ยครับ
ตัวนี้ใช่มัั้ยครับ แปะลิงค์ให้ จริง ๆ น่าจะโมแล้วอัพให้โหลดเลยน่ะครับ แต่ยังไงก็ขอบคุณในน้ำใจคุณ jt จริง ๆครับ
Thaiseach
ไม่ใช่ครับ ผมโมจากโมดูล
ไม่ใช่ครับ ผมโมจากโมดูล search ของ drupal โดยตรงครับ
มีวิธีอื่นที่ดีกว่า โม
มีวิธีอื่นที่ดีกว่า โม ไหมครับ พอดีท่านเก่ง PHP อยากให้ไปดูระบบตัดคำ ว่ามีทางแก้ให้ตัดคำไทยได้ไหม
เพื่อที่อนาคต จะได้ไม่ต้องมาโมแก้ตลอด อยากให้ผูกติดไปกับ drupal core เลยครับ
ยังไงก็ขอบคุณที่แบ่งปันข้อมูลที่คุณศึกษามาครับ นับถือๆๆๆ
เรื่องระบบตัดคำไทยนี่
เรื่องระบบตัดคำไทยนี่ เป็นปัญหาเหมือนกันทุกระบบครับ แต่ระบบ search ของ drupal มันดีอยู่แล้ว และโมดูล search ถือเป็น core module ซึ่งนานๆจะมีการแก้ไขและออกมาพร้อมกับ drupal อยู่แล้ว คงจะดีนะถ้าจะให้ทาง drupal รองรับ search ภาษาไทยไปเลยหรือว่าเราจะทำโมดูล search เฉพาะภาษาไทยกันดี
มี 2 ทางครับ 1 คุณ แก้
มี 2 ทางครับ
1 คุณ แก้ search ของ core ให้ตัดคำไทยได้ แม่นยำ
2 ถ้าสิ่งที่คุณทำตามข้อ 1 ผ่าน แล้วไม่กระทบกับภาษาอื่น คุณก็ส่งตัวที่แก้ ไปให้ drupal นำไปแก้ใน core ให้ ต่อไป drupal ก็จะมี search ที่รองรับไทยตลอดไปครับ
อยากถามว่า ถ้าเราจะแก้โมดูล
อยากถามว่า ถ้าเราจะแก้โมดูล serach มีไฟล์ไหนที่เกี่ยวข้องบ้างคะ
ความต้องการที่อยากได้คือ
เวลาที่มันค้นหามันจะค้นหาจาก tag ที่เราใส่ไปช่ายมั้ยคะ แต่วาอยากได้เจาะจงกว่านั้น คือ สามารถเลือก ภาค จังหวัด อำเภอ แล้วตามด้วยหมู่บ้านแบบนี้ จะทำได้มั้ยคะ หากเราจะเพิ่มฟิลด์แล้วเขียน โค้ดตรงส่วนนั้นเอง
หากเราจะแก้ โค้ดในโมดูล
หากเราจะแก้ โค้ดในโมดูล serach มีฟังชันไหนที่ให้แสดงผล ฟังชันไหนใช้ คิวรี่คำสั้ง ฟังชันไหนเรียกไปไหน พอดีต้องทำส่งจารย์ มีใครพอจะแนะนำได้มั่งมั้ยคะ