---
name: rkj-search
description: ใช้เมื่อผู้ใช้ถามหาประกาศ กฎหมาย หรือเอกสารในราชกิจจานุเบกษา (Royal Thai Government Gazette) เช่น พระราชบัญญัติ พระราชกฤษฎีกา กฎกระทรวง ประกาศกระทรวง คำสั่งพิทักษ์ทรัพย์ หรืออ้างอิงแบบ "เล่ม … ตอน … หน้า …" และมีเครื่องมือ MCP ชื่อ rkj-search (search_gazette, gazette_facets, get_gazette_documents, browse_gazette_issue, gazette_filter_options) ให้ใช้ สอนวิธีเลือกเครื่องมือ ตั้งคำค้น ใช้ตัวกรอง และรายงานผลให้ถูกต้อง
---

# rkj-search — ค้นราชกิจจานุเบกษาให้ถูกวิธี

เครื่องมือชุดนี้ค้นจาก**ชื่อเรื่อง**ของเอกสารราชกิจจานุเบกษาเท่านั้น ไม่มีเนื้อความในเอกสาร
ผลค้นและลำดับถูกทำให้ตรงกับหน้าค้นหาของเว็บราชกิจจานุเบกษา จึงมีกฎเฉพาะบางข้อที่ต้องรู้ก่อนใช้

## เลือกเครื่องมือ

| ผู้ใช้ต้องการ | ใช้ |
|---|---|
| หาเอกสารจากคำในชื่อเรื่อง หรือดูรายการล่าสุด | `search_gazette` |
| รู้ว่ามีกี่รายการ กระจายอยู่ประเภท ปี หรือหน่วยงานไหน | `gazette_facets` |
| มีเลขอ้างอิง เล่ม + ตอน (+ ประเภท) อยู่แล้ว | `browse_gazette_issue` |
| ขอข้อมูลครบของเอกสารที่รู้ `doc_id` แล้ว | `get_gazette_documents` |
| ไม่แน่ใจว่าตัวกรองใส่ค่าอะไรได้ หรือข้อมูลมีถึงเมื่อไร | `gazette_filter_options` |

คำถามกว้าง (เช่น "ประกาศเรื่องภาษีมีอะไรบ้าง") ให้เรียก `gazette_facets` ก่อน แล้วใช้ผลนับเลือกตัวกรอง
ให้แคบลง ค่อยเรียก `search_gazette` อย่าดึงผลหลายร้อยรายการมาไล่อ่านเอง

## ตั้งคำค้น (`keyword`)

- ใช้**คำที่น่าจะอยู่ในชื่อเรื่องจริง** ไม่ใช่ประโยคคำถาม — "หา พ.ร.บ. เกี่ยวกับภาษีสรรพสามิต" ให้ส่ง
  `พระราชบัญญัติ ภาษีสรรพสามิต`
- หลายคำคั่นด้วยช่องว่าง = **ทุกคำต้องอยู่ในชื่อเรื่อง** (ไม่ต้องติดกัน ไม่ต้องเรียงลำดับ) ใส่คำมากเกินไปจะไม่เจอ
  เริ่มจาก 1–2 คำที่เจาะจงที่สุด
- ชื่อเรื่องใช้**คำเต็ม** ไม่ใช้คำย่อ: พ.ร.บ. → `พระราชบัญญัติ` · พ.ร.ก. → `พระราชกำหนด` ·
  พ.ร.ฎ. → `พระราชกฤษฎีกา` · สคบ./อย./กทม. → ชื่อเต็มของหน่วยงาน
- ไม่ต้องตัดคำไทยเอง ระบบเทียบแบบ "มีข้อความนี้อยู่ในชื่อเรื่อง"
- **ตัวเลข:** ระบบแปลงเลขไทยในคำค้นเป็นเลขอารบิก แล้วเทียบกับชื่อเรื่องตามที่เก็บไว้
  เอกสารใหม่จำนวนมากเก็บชื่อเรื่องด้วยเลขไทย (เช่น "พ.ศ. ๒๕๖๘", "ฉบับที่ ๒") จึง**ค้นด้วยตัวเลขไม่เจอ**
  → อย่าใส่ปีหรือเลขฉบับใน `keyword` ให้กรองปีด้วย `date_from` / `date_to` แทน
- ไม่ใส่ `keyword` เลย = รายการล่าสุดตามตัวกรอง

## ตัวกรอง

- `types` — ประเภทราชกิจจานุเบกษา: `ก` (กฤษฎีกา: พ.ร.บ. พ.ร.ก. พ.ร.ฎ. กฎกระทรวง), `ข` (ทะเบียนฐานันดร
  เครื่องราชฯ), `ค` (ทะเบียนการค้า), `ง` (ประกาศและงานทั่วไป) และฉบับพิเศษ `กพิเศษ` `ขพิเศษ` `งพิเศษ`
  ต้องการทั้งฉบับปกติและพิเศษให้ใส่ทั้งคู่ เช่น `["ง", "งพิเศษ"]`
- `date_from` / `date_to` — วันที่ประกาศ รับ `YYYY-MM-DD` (ค.ศ.) หรือ `DD/MM/YYYY` (พ.ศ.)
  "ปี 2568" = `01/01/2568` ถึง `31/12/2568`
- `book` / `section` — เล่ม / ตอน เป็นตัวเลข
- `docgroup` — หน่วยงานหรือกลุ่มเอกสาร พิมพ์บางส่วนของชื่อได้ เช่น `กระทรวงการคลัง`
  (ค่าจริงมักขึ้นต้นด้วย "ประกาศ…" ดูตัวอย่างค่าได้จาก `gazette_facets`)
- `sub_categories` / `categories` — ชนิดเอกสาร **ใช้ด้วยความระวัง**:
  - เทียบแบบ "มีคำนี้อยู่" เหมือนเว็บเดิม ค่า `กฎ` จึงได้เอกสาร**ทั้งหมวด** "กฎหมาย/คำวินิจฉัย" ไม่ใช่แค่กฎกระทรวง
  - เอกสารจำนวนมากไม่ได้ติดชนิด และบางรายการติดชนิดผิด การกรองด้วยชนิดจึงอาจตกหล่น
  - ถ้าต้องการ "เฉพาะพระราชบัญญัติ" ให้ใส่ `พระราชบัญญัติ` ใน `keyword` ร่วมกับ `types: ["ก", "กพิเศษ"]` จะแม่นกว่า
- `sort` — `desc` ใหม่ไปเก่า (ค่าเริ่มต้น) หรือ `asc` เก่าไปใหม่ ไม่มีการเรียงตามความเกี่ยวข้อง

## อ่านผล

- `total` คือจำนวนทั้งหมด ถ้าเป็น `null` และ `total_timed_out` เป็น `true` แปลว่านับไม่ทัน
  ให้รายงานว่า "อย่างน้อย `total_at_least` รายการ" อย่าบอกเป็นจำนวนแน่นอน
- ผลมาทีละหน้า (`page`, `page_size` สูงสุด 100) ถ้า `total` มากกว่าที่ได้มา ให้บอกผู้ใช้ว่ายังมีอีก
  และเสนอให้กรองเพิ่ม แทนการไล่ดึงทุกหน้า
- `citation` คืออ้างอิงมาตรฐาน เช่น "เล่ม 142 ตอนที่ 38 ก หน้า 13" — **คัดลอกตามที่ได้ อย่าประกอบเอง**
- `pdf_url` คือลิงก์ไฟล์ราชกิจจาฯ ฉบับเต็ม ให้แนบไปกับคำตอบ ถ้าเป็น `null` อย่าเดาหรือสร้างลิงก์เอง
- `title_highlight` มีแท็ก `<mark>` สำหรับแสดงผลบนเว็บ เวลาตอบผู้ใช้ให้ใช้ `title`
- `browse_gazette_issue` คืนไม่เกิน `limit` (ค่าเริ่มต้น 200) ถ้า `truncated` เป็น `true` แปลว่ายังมีรายการต่อ
  ให้เรียกซ้ำด้วย `limit` ที่มากขึ้น (สูงสุด 500) และควรระบุ `type` เสมอ เพราะเล่ม/ตอนเดียวกันมีได้หลายประเภท

## ตอบผู้ใช้

- แต่ละรายการให้มี: ชื่อเรื่อง · `citation` · วันที่ประกาศ (`publish_date_th`)
- บอกจำนวนทั้งหมดและเงื่อนไขที่ใช้ค้น ผู้ใช้จะได้รู้ว่าผลครอบคลุมแค่ไหน
- **ห้ามแต่งรายการ เลขอ้างอิง หรือเนื้อหาของเอกสารขึ้นเอง** ระบบมีแค่ชื่อเรื่องและข้อมูลอ้างอิง
  ถ้าผู้ใช้ถามสาระในตัวบท ให้บอกว่าต้องเปิดเอกสารฉบับเต็ม และให้อ้างอิงไว้
- ชื่อเรื่องบางรายการมีชื่อบุคคล (เช่น ประกาศแต่งตั้ง คำสั่งพิทักษ์ทรัพย์) ให้แสดงเท่าที่จำเป็นต่อคำถาม

## เมื่อค้นไม่เจอ

ลองตามลำดับนี้ก่อนสรุปว่าไม่มี:

1. ลดจำนวนคำใน `keyword` เหลือคำเดียวที่เจาะจงที่สุด
2. เอาตัวเลขออกจาก `keyword` แล้วใช้ช่วงวันที่แทน
3. เปลี่ยนคำย่อเป็นคำเต็ม หรือลองคำที่ราชการใช้ (เช่น "รถไฟฟ้า" แทนชื่อสายที่เรียกกันทั่วไป)
4. เอา `sub_categories` ออก และใส่ทั้งฉบับปกติกับฉบับพิเศษใน `types`
5. เรียก `gazette_facets` ด้วยคำเดียว ดูว่าผลไปอยู่ประเภทหรือปีไหน

ถ้ายังไม่เจอ ให้บอกข้อจำกัดตามจริง: ค้นได้จากชื่อเรื่องเท่านั้น และข้อมูลมีถึงวันที่ที่ได้จาก
`gazette_filter_options` (`coverage.publish_date_max`) เอกสารที่ประกาศหลังจากนั้นยังไม่อยู่ในระบบ

## ตัวอย่าง

**"หา พ.ร.บ. ภาษีสรรพสามิต ปี 2568"**

```json
{"keyword": "พระราชบัญญัติ ภาษีสรรพสามิต", "date_from": "01/01/2568", "date_to": "31/12/2568"}
```

**"ประกาศกระทรวงการคลังเรื่องภาษีมูลค่าเพิ่ม ล่าสุด 5 ฉบับ"**

```json
{"keyword": "ประกาศกระทรวงการคลัง ภาษีมูลค่าเพิ่ม", "page_size": 5}
```

**"เล่ม 142 ตอนพิเศษ 405 ง มีเรื่องอะไรบ้าง"** → `browse_gazette_issue`

```json
{"book": 142, "section": 405, "type": "งพิเศษ"}
```

**"เรื่องภาษีมูลค่าเพิ่มมีมากแค่ไหน ส่วนใหญ่ออกโดยใคร"** → `gazette_facets`

```json
{"keyword": "ภาษีมูลค่าเพิ่ม"}
```
