การสร้างดัชนี การกรอง และการค้นหาแบบผสม
ทำให้การค้นหาเวกเตอร์รวดเร็วและแม่นยำในระดับใหญ่ด้วยการทำความเข้าใจชนิดของดัชนี ผสานตัวกรองข้อมูลกำกับเข้ากับความคล้ายคลึง และรวมการดึงข้อมูลด้วยคำสำคัญกับเวกเตอร์ด้วยการค้นหาแบบผสม
การสร้างดัชนี การกรอง และการค้นหาแบบผสม เป็นบทเรียน LLM Apps in Production (RAG + Vector DB + Caching) ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน LLM Apps in Production (RAG + Vector DB + Caching) และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส LLM Apps in Production (RAG + Vector DB + Caching) มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
The Scale Problem
Comparing a query against millions of vectors one by one is too slow for production. Vector databases use indexes to find near neighbors quickly without scanning everything.
Approximate Nearest Neighbors
Most vector indexes are approximate (ANN): they trade a tiny bit of accuracy for huge speed gains. For RAG, near-perfect recall at fast speed is a great deal.
HNSW Indexes
HNSW (Hierarchical Navigable Small World) is a popular graph-based index. It navigates layers of connections to reach neighbors fast, balancing speed and accuracy via tunable parameters.
IVF Indexes
IVF clusters vectors into cells; a query only searches the closest cells. The nprobe parameter trades recall for speed by controlling how many cells to check.
Metadata Filtering
Pure similarity can return the wrong scope — old versions, other tenants. Storing metadata with each vector lets you filter results to the right subset.
results = store.similarity_search(
query,
k=4,
filter={'tenant': 'acme', 'lang': 'en'}
)Pre vs Post Filtering
Filters apply two ways:
- Pre-filter: restrict candidates before the ANN search (more correct)
- Post-filter: search, then drop non-matches (may return too few)
Prefer pre-filtering when the DB supports it.
Where Vector Search Struggles
Vectors capture meaning but can miss exact terms — product codes, names, acronyms. A query for SKU-9F may semantically match nothing useful.
Hybrid search fixes this.
What Is Hybrid Search?
Hybrid search runs both keyword (e.g. BM25) and vector search, then merges the results. You get semantic understanding plus exact-term precision.
Combining Scores with RRF
Reciprocal Rank Fusion merges the two ranked lists by rewarding items ranked high in either, without needing comparable score scales.
def rrf(ranks, k=60):
return sum(1 / (k + r) for r in ranks)Tuning the Balance
Many databases let you weight keyword vs vector contributions (alpha). Term-heavy domains lean keyword; conceptual queries lean vector. Tune on your test set.
results = store.similarity_search(query, k=4, alpha=0.5)Operational Tips
For healthy vector search at scale:
- Rebuild or update indexes as data grows
- Keep embeddings and index dimensions consistent
- Benchmark recall and latency together
Quick Check
Test your vector database knowledge.
Recap
You learned to scale and sharpen vector search:
- ANN indexes like HNSW and IVF make search fast
- Metadata filters scope results; prefer pre-filtering
- Hybrid search blends keyword and vector retrieval
- Fuse rankings with RRF and tune the balance
- Maintain indexes and benchmark recall vs latency
These techniques keep retrieval both fast and accurate in production.
เรียนรู้ LLM Apps in Production (RAG + Vector DB + Caching) ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 12
- บทเรียน
- 48
คำถามที่พบบ่อย
บทเรียน “การสร้างดัชนี การกรอง และการค้นหาแบบผสม” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสร้างดัชนี การกรอง และการค้นหาแบบผสม” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส LLM Apps in Production (RAG + Vector DB + Caching) ให้อัปเกรดเป็น CoddyKit PRO คอร์ส LLM Apps in Production (RAG + Vector DB + Caching) มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสร้างดัชนี การกรอง และการค้นหาแบบผสม”
ทำให้การค้นหาเวกเตอร์รวดเร็วและแม่นยำในระดับใหญ่ด้วยการทำความเข้าใจชนิดของดัชนี ผสานตัวกรองข้อมูลกำกับเข้ากับความคล้ายคลึง และรวมการดึงข้อมูลด้วยคำสำคัญกับเวกเตอร์ด้วยการค้นหาแบบผสม คุณปฏิบัติ LLM Apps in Production (RAG + Vector DB + Caching) ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน LLM Apps in Production (RAG + Vector DB + Caching) หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน LLM Apps in Production (RAG + Vector DB + Caching) บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การสร้างดัชนี การกรอง และการค้นหาแบบผสม” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน LLM Apps in Production (RAG + Vector DB + Caching) นี้ได้ไหม
ได้ บทเรียน LLM Apps in Production (RAG + Vector DB + Caching) ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ความจำเป็นของฐานข้อมูลเวกเตอร์
- เวกเตอร์ฝังตัวและการค้นหาความคล้ายคลึง
- การเชื่อมต่อกับฐานข้อมูลเวกเตอร์
- การสร้างดัชนี การกรอง และการค้นหาแบบผสม