OpenSearch 3.9 منتشر شد: جستجوی برداری سریعتر و کلاستر مقاومتر
خلاصهٔ کاملتر
تو نسخهٔ 3.9 اپنسرچ، جستجوی neural sparse ANN (یعنی پیدا کردن تقریبی نزدیکترین نتیجهها با بردارهای پراکنده) از JVM اومده بیرون و روی یه موتور بومی C++ اجرا میشه. این موتور الگوریتم SEISMIC رو از طریق JNI صدا میزنه و دادهها رو بهجای heap جاوا، memory-map میکنه. تو تست روی ۸.۸ میلیون سند، ۳۹ درصد throughput بیشتر، ساخت ایندکس ۳.۳ برابر سریعتر و heap ۸ برابر کوچیکتر داشته. با "engine": "native" فعال میشه و پیشفرض هنوز Lucene هست.
برای کم کردن حافظه هم چند گزینه اضافه شده. نوع half_float بردارها رو ۱۶ بیتی ذخیره میکنه، یعنی هر بُعد دو بایت بهجای چهار، پس حافظه و فضا حدوداً نصف میشه. انکودر bf16 هم دو بایته ولی بازهٔ اعداد رو مثل float32 کامل پوشش میده، در عوض یه کم دقت از دست میره. کوانتیزاسیون اسکالر ۲ بیتی (فشردهسازی ۱۶ برابر) و ۴ بیتی (۸ برابر) هم کنار ۱ بیتی قبلی اومده تا بتونی بین فشردهسازی و recall (یعنی چقدر نتیجههای درست پیدا میشن) انتخاب کنی.
یه تغییر کاربردی دیگه dynamic mapping برای فیلدهای knn_vector هست. دیگه لازم نیست قبل از ایندکس کردن بردار، mapping رو دستی تعریف کنی؛ ابعاد از اولین سند تشخیص داده میشه. این قابلیت اختیاریه و mapping صریح همیشه اولویت داره. تو بخش مانیتورینگ هم نمای یکپارچهٔ هشدارها حالا تشخیص ناهنجاری و پیشبینی رو هم نشون میده و عمومی شده. OpenSearch Observability Stack هم صفحهٔ trace بازطراحیشده، داشبوردهای PromQL با متغیر، ساخت هشدار بدون نوشتن PromQL و یه ویزارد راهاندازی APM آورده.
زبان PPL هم پروفایل کوئری گرفته: با "analyze": true یه درخت از عملگرها با تعداد ردیف و زمان هر مرحله میگیری. برای پایداری کلاستر، محدودیت همزمانی تطبیقی اضافه شده که سقف درخواستهای هر action رو بر اساس تأخیر واقعی تنظیم میکنه و یه حالت فقطنظارت هم داره. هرس ایندکس هم ایندکسهایی که بیرون از بازهٔ زمانی کوئری هستن رو قبل از هر کاری رد میکنه؛ تو بنچمارک با ۹۰ ایندکس روزانه، tail latency بیشتر از ۸۰ درصد کم شده.
چند تغییر دیگه هم هست: ML Commons حالا درخواستهای inference رو خودش دستهبندی میکنه، پس لازم نیست سمت کلاینت اندازهٔ درخواستها رو با محدودیت مدل جور کنی. حذفها تو translog حالا routing رو نگه میدارن، که پایهٔ تغییر schema بدون downtime هست. چارچوب اشتراک منابع و کنترل دسترسی هم عمومی شده. پشتیبانی از Amazon Linux 2 هم کنار گذاشته شده، چون این سیستمعامل ۳۰ ژوئن ۲۰۲۶ به پایان پشتیبانی رسید.
نکات کلیدی:
- موتور بومی neural sparse: ۳۹ درصد throughput بیشتر، ساخت ایندکس ۳.۳ برابر سریعتر و heap ۸ برابر کوچیکتر روی ۸.۸ میلیون سند.
- نوع half_float مصرف حافظهٔ بردارها رو حدوداً نصف میکنه و تو Faiss و Lucene کار میکنه.
- کوانتیزاسیون ۲ بیتی (۱۶x) و ۴ بیتی (۸x) کنار ۱ بیتی (۳۲x) اضافه شده.
- هرس ایندکس تو بنچمارک ۹۰ ایندکسی، tail latency رو بیشتر از ۸۰ درصد کم کرده.
- پشتیبانی از Amazon Linux 2 تو 3.9.0 منسوخ شده.




