วิธีใช้งาน SearXNG: ตั้งแต่การค้นหาครั้งแรกไปจนถึงการเป็นผู้เชี่ยวชาญในการโฮสต์ด้วยตนเอง
หากคุณต้องการผลลัพธ์แบบ Google โดยไม่ต้องถูกติดตาม SearXNG คือ metasearch engine ที่ให้ความสำคัญกับความเป็นส่วนตัวเป็นอันดับแรกของคุณ โดยจะรวบรวมผลลัพธ์จากแหล่งข้อมูลมากมาย โดยไม่สร้างโปรไฟล์ของคุณ และให้คุณควบคุมตัวกรอง, เอ็นจิน และแม้แต่การโฮสต์ได้อย่างเต็มที่ ในคู่มือนี้ เราจะพาคุณไปสำรวจสามแนวทาง: การใช้ Public Instance, การปรับแต่งประสบการณ์การค้นหาของคุณ และการติดตั้ง SearXNG ส่วนตัวของคุณเองเพื่อการควบคุมสูงสุด
เพื่อให้สามารถนำไปปฏิบัติได้จริง เราจะใช้วิธีการที่เน้นการแก้ปัญหาด้วยขั้นตอนการปฏิบัติจริง, การตั้งค่าที่คุณสามารถคัดลอกได้ และข้อผิดพลาดทั่วไปที่ควรหลีกเลี่ยง
SearXNG คืออะไร และทำไมต้องใช้งาน
SearXNG คือ metasearch engine แบบโอเพนซอร์ส แทนที่จะทำการ Crawl เว็บด้วยตัวเอง แต่จะ Query เอ็นจินค้นหาอื่น ๆ และแสดงผลลัพธ์ในอินเทอร์เฟซแบบรวม จุดเด่นคือ: จะไม่ติดตาม, ลบโฆษณา (ใน Instance ส่วนใหญ่) และให้คุณควบคุมได้อย่างละเอียดว่าจะรวมเอ็นจินใดบ้าง, จะค้นหาหมวดหมู่ใด (เว็บ, รูปภาพ, วิดีโอ, ไฟล์, IT, ข่าว, วิทยาศาสตร์) และจะแสดงผลลัพธ์อย่างไร
- ไม่มีการติดตามหรือสร้างโปรไฟล์โดยค่าเริ่มต้น
- เอ็นจินและหมวดหมู่ที่สามารถกำหนดค่าได้
- สามารถโฮสต์เองได้เพื่อการควบคุมอย่างเต็มที่
- เป็นมิตรกับ API สำหรับนักพัฒนาและระบบอัตโนมัติ
เริ่มต้นอย่างรวดเร็ว: การใช้ Public SearXNG Instance
คุณสามารถเริ่มต้นด้วย Public Instance (เซิร์ฟเวอร์ SearXNG ที่ดำเนินการโดยอาสาสมัคร) ขั้นตอนทั่วไป:
- เปิด Public Instance ที่น่าเชื่อถือ (ค้นหา “SearXNG instances list” หรือกระทู้ในชุมชนเพื่อค้นหาเซิร์ฟเวอร์ที่ใช้งานและมีชื่อเสียง) ประเมิน Uptime, Rate Limits และ Privacy Statements
- พิมพ์ Query ของคุณและเลือกหมวดหมู่ (เช่น เว็บ, รูปภาพ, ข่าว) ผ่านแท็บด้านบน
- ใช้ Preferences (ไอคอนรูปเฟือง) เพื่อตั้งค่า:
- UI Theme และ Infinite Scroll
- ใช้ “Bangs” และ Operators:
!g your query บังคับใช้เอ็นจิน Google (หากเปิดใช้งานใน Instance นั้น)
!ddg, !bing, !yt, !wp ฯลฯ ขึ้นอยู่กับการกำหนดค่า Instance
- Standard Operators เช่น Quotes,
site:, filetype:pdf, inurl:, intitle: ทำงานบนหลายเอ็นจิน
- Bookmark Instance ที่คุณชื่นชอบและ Export/Import Preferences เป็น JSON Blob หาก UI รองรับ
Pro Tip: Public Instances สามารถ Rate-Limit ผู้ใช้ที่ไม่ระบุชื่อเพื่อป้องกันตัวเองจากการใช้งานในทางที่ผิด หากคุณเห็น Captchas หรือความเร็วลดลง ให้ลอง Instance อื่นหรือ Self-Host
Power User Moves ใน Interface
- สลับเอ็นจินได้ทันที: ใน Preferences → Engines ให้สลับแหล่งที่มาเฉพาะสำหรับแต่ละหมวดหมู่
- ปรับแต่งผลลัพธ์: ซ่อนรายการที่ซ้ำกัน, เปลี่ยนช่วงเวลา (เช่น ปีที่ผ่านมา), เรียงตามความเกี่ยวข้องหรือวันที่
- Privacy Toggles: ปิดใช้งานเอ็นจินใด ๆ ที่คุณไม่ต้องการให้ Query บางเอ็นจินต้องใช้ API Keys หากไม่มี จะไม่ถูกใช้งาน
- Keyboard Shortcuts: SearXNG Themes จำนวนมากรองรับ
/ เพื่อโฟกัสที่ช่องค้นหา และปุ่มลูกศรเพื่อนำทางผลลัพธ์
วิธี Self-Host SearXNG (Docker Way)
การ Self-Host ช่วยให้คุณมีความน่าเชื่อถือ, ความเร็ว และการควบคุมว่าจะใช้เอ็นจินใด เส้นทาง Docker นั้นง่ายที่สุด
ข้อกำหนด
- Linux VPS หรือ Home Server (2 vCPU/2 GB RAM เหมาะสมสำหรับการใช้งานเบา ๆ)
- ติดตั้ง Docker และ Docker Compose แล้ว
- Domain/Subdomain และ Reverse Proxy (Caddy/Traefik/Nginx) ที่เป็น Optional สำหรับ HTTPS
ขั้นตอน
- Clone SearXNG Deployment Repo (หรือใช้ Compose File ขั้นต่ำ):
version: "3.8"
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
environment:
- BASE_URL=
- SEARXNG_SECRET_KEY=change_me_to_a_long_random_value
volumes:
- ./searxng:/etc/searxng
ports:
- "8080:8080"
restart: unless-stopped
- สร้าง
SEARXNG_SECRET_KEY ที่แข็งแกร่ง (เช่น openssl rand -hex 32).
- กำหนดค่า Reverse Proxy ด้วย HTTPS (ตัวอย่าง Caddy):
search.example.com {
reverse_proxy 127.0.0.1:8080
}
Caddy จะ Auto-Provision TLS ผ่าน Let’s Encrypt
- เยี่ยมชม ` และยืนยันว่าโหลดได้
Core Configuration: settings.yml
หลังจากการรันครั้งแรก คุณจะมี Config ภายใต้ Mounted Volume ของคุณ (เช่น ./searxng/settings.yml). ส่วนสำคัญ:
general: Name, Debug Mode, Result Count
server: Secret Key, Bind Address, Rate Limits
engines: Enable/Disable Engines, Categories, Timeouts
ui: Theme, Infinite Scroll, Autocomplete
search: Safe Search Defaults, Language, Locale
ตัวอย่าง Snippet:
general:
instance_name: "My Private SearXNG"
server:
secret_key: "<same as env or longer>"
image_proxy: true
rate_limit: "60/minute"
search:
safe_search: 1 # 0 off, 1 moderate, 2 strict
autocomplete: "duckduckgo"
ui:
default_theme: "simple"
infinite_scroll: true
engines:
- name: duckduckgo
engine: duckduckgo
categories: .
### Quick Example
- Endpoint: `/search`
- Methods: GET or POST
- Parameters: `q` (query), `categories`, `language`, `format=json`, `time_range`, `safesearch`
```bash
curl "
Response ประกอบด้วย Organic Results, Engines ที่ใช้ และ Timings เหมาะสำหรับการสร้าง Research Automations, Local Dashboards และ Custom UIs
การปรับแต่ง Engines และ Categories
- เลือกแหล่งที่มาที่รวดเร็วและเป็นมิตรกับความเป็นส่วนตัว (เช่น Wikipedia, Stack Exchange, MDN, DuckDuckGo, Brave หากได้รับอนุญาต, APIs อย่างเป็นทางการสำหรับ YouTube/Reddit/Mastodon)
- ปิดใช้งาน Engines ที่มี Captchas บ่อยครั้งหรือมี Latency สูงบนเครือข่ายของคุณ
- ใช้ Per-Category Defaults ตัวอย่างเช่น เปิดใช้งาน GitHub, Stack Overflow และ PyPI ภายใต้ “IT”, เปิดใช้งาน arXiv/Crossref ภายใต้ “Science” และตั้งค่า
time_range เป็น Recent สำหรับ “News”
Troubleshooting Checklist
- เห็น Captchas หรือผลลัพธ์ว่างเปล่า? ลดหรือหมุนเวียน Engines ที่ก่อให้เกิดการ Block เพิ่ม Timeouts เล็กน้อย เปิดใช้งาน Caching
- API Requests ล้มเหลว? ตรวจสอบ Reverse Proxy Headers และ CORS ยืนยัน
format=json
- UI ช้า? ลดจำนวนผลลัพธ์ต่อหน้า ปิดใช้งาน Heavy Engines เปิดใช้งาน Redis Cache
- Docker Restart Loop? ตรวจสอบ
settings.yml Syntax และ Environment Variables ของคุณ
Best Practices สำหรับ Teams และ Power Users
- Export และ Version-Control
settings.yml ของคุณ (โดยไม่รวม Secrets) เพื่อติดตามการเปลี่ยนแปลง
- ใช้ Secrets Managers หรือไฟล์
.env สำหรับ API Keys
- กำหนดเวลา Container Refreshes รายสัปดาห์เพื่อให้ทันกับการเปลี่ยนแปลงของ Engine
- ตรวจสอบ Logs สำหรับ Engine Errors หรือ Rate-Limit Hits
- หากคุณ Embed SearXNG ใน Apps ให้ Back Off ใน Retries และ Randomize Delays เพื่อหลีกเลี่ยงการ Ban
Optional: เชื่อมต่อ SearXNG กับ Tools อื่น ๆ
- ใช้ JSON API ใน Research Notebooks หรือ Chat Workflows ของคุณ
- Route App-Based Web Search ผ่าน Private Instance ของคุณเพื่อรักษาความเป็นส่วนตัว
- AI/Web UIs บางตัวสามารถ Plug เข้ากับ SearXNG เพื่อเรียกดูผ่าน Endpoint ของคุณเอง (กำหนดค่า Base URL และ API Parameters ตามนั้น)
สิ่งที่ควรทราบ: หากคุณกำลังสร้าง Research Workflows หรือสรุปผลลัพธ์ในวงกว้าง Tool อย่าง Sider.AI สามารถปรับปรุงขั้นตอนการอ่านและสรุปผลลัพธ์ข้าม Tabs หรือ Queries หลายรายการได้ คุณสามารถชี้การ Browsing ของคุณไปยัง Private SearXNG Endpoint จากนั้นใช้ Sider.AI เพื่อบันทึก Insights, ร่าง Briefs หรือรวบรวม Citations โดยอัตโนมัติ ซึ่งช่วยประหยัดเวลาเมื่อคุณทำการค้นหาหลายครั้งติดต่อกัน Security และ Ethics
- เคารพข้อกำหนดของ Engines ที่คุณเปิดใช้งาน
- อย่าเปิดเผย Instance ของคุณต่อการใช้งานในทางที่ผิดในที่สาธารณะ Rate-Limit และหากจำเป็น ให้จำกัดการเข้าถึง
- แจ้งให้สมาชิกในทีมทราบเกี่ยวกับความคาดหวังด้านความเป็นส่วนตัว สามารถกำหนดค่า Logs เพื่อหลีกเลี่ยงการจัดเก็บ IPs หรือ Queries
การตั้งค่า 15 นาทีแรกของคุณ: Mini Checklist
- Spin up Docker และสร้าง Compose File
- ตั้งค่า
SEARXNG_SECRET_KEY
- เริ่ม Container และยืนยันว่า
:8080 ทำงาน
- วางไว้หลัง HTTPS ด้วย Proxy
- แก้ไข
settings.yml เพื่อเปิดใช้งาน Engines ที่คุณเชื่อถือ
- ตั้งค่า Default Categories และ SafeSearch
- ทดสอบ API ด้วย
curl Request
- Bookmark Instance ของคุณและแชร์กับทีมของคุณ
Key Takeaways
- SearXNG ให้ความเป็นส่วนตัว, การควบคุม และความยืดหยุ่นแก่คุณโดยไม่ต้องเขียน Crawler
- เริ่มต้นบน Public Instance จากนั้น Self-Host เพื่อความน่าเชื่อถือและการปรับแต่ง
- ปรับแต่ง Engines และ Categories เพื่อความเร็วและความเกี่ยวข้อง
- JSON API ทำให้ SearXNG เหมาะสำหรับการวิจัยและ Automation
- Harden Deployment ของคุณด้วย HTTPS, Rate Limits และ Minimal Logging
References และ Further Reading
- Official Search API Overview สำหรับ Parameters และ Formats
- Step-by-Step Self-Hosting Walkthroughs และ Community Tutorials สามารถเป็นประโยชน์สำหรับการตั้งค่า Docker และ Windows
- การรวม SearXNG เข้ากับ App Workflows และ Tools มักจะเป็นไปตาม API Pattern เดียวกันกับที่ใช้ข้างต้น
FAQ
Q1:What is SearXNG and how does it work?
SearXNG is a privacy-focused metasearch engine that queries multiple sources and aggregates the results, without tracking users. You can use a public instance or self-host for full control over engines, filters, and privacy settings.
Q2:How do I self-host SearXNG with Docker?
Create a Docker Compose service using the official image, set a strong secret key, and expose it behind a reverse proxy with HTTPS. Edit settings.yml to enable engines, configure categories, and adjust privacy options.
Q3:Can I use SearXNG for programmatic searches via API?
Yes. Call /search with parameters like q, categories, and format=json to receive JSON results for automations and apps. This is ideal for research pipelines and internal tools.
Q4:How do I choose a safe public SearXNG instance?
Look for active, reputable instances with clear privacy statements, good uptime, and minimal captchas. You can also switch instances or self-host if you encounter rate limits or reliability issues.
Q5:Which search operators work in SearXNG?
Common operators like quotes, site:, filetype:, inurl:, and intitle: generally work and are passed to underlying engines. You can also use bang shortcuts (e.g., !g, !ddg, !yt) if the instance supports them.