Jul 24, 2017 · 1 min read
ค้นหาภาษาไทยด้วย Django Haystack + Elasticsearch
Software ที่ใช้ในการทดลองนี้คือ
Django==1.8.11
django-haystack==2.6.1
elasticsearch==1.6.0
elasticstack==0.5.0ในไฟล์ settings.py ตั้งค่า Haystack เป็น

ตัว Engine จะใช้ ConfigurableElasticSearchEngine จาก elasticstack เพื่อให้สามารถตั้งค่า Analyzer ได้เอง
ตัว INDEX_NAME คือชื่อของ Index ซึ่งเราสามารถเปลี่ยนเป็นชื่ออื่นได้

จากนั้นเพิ่ม ELASTICSEARCH_INDEX_SETTINGS ซึ่งเป็นการตั้งค่า Analyzer ภาษาไทยลงไป
โดยให้ใช้การตัดคำเป็นภาษาไทย (จากบรรทัด “tokenize”: “thai”)
สุดท่ายตั้ง ELASTICSEARCH_DEFAULT_ANALYZER ให้เป็นตามชื่อ “default” ของเรา
การสร้างฟอร์มค้นหาอย่างง่าย
ให้เพิ่มลงใน urls.py ได้เลย
url(r’^search/’, include(‘haystack.urls’)),
