Manticore Search 7.0.0: جستجوی هوشمندانه ، همگام سازی در زمان واقعی و عملکرد پیشرفته

ما از اعلام آزادی هیجان زده ایم Manticore Search 7.0.0، بسته بندی شده با ویژگی های پیشگامانه ، بهینه سازی عملکرد و پیشرفت های مهم برای بالا بردن تجربه جستجوی شما. از قابلیت های جستجوی فازی گرفته تا ادغام یکپارچه Kafka ، این نسخه به توسعه دهندگان این امکان را می دهد تا برنامه های سریعتر ، انعطاف پذیر و کاربر پسند بسازند.
🚨 یادداشت های مهم ارتقاء
قبل از غواصی به ویژگی های جدید ، لطفاً این موارد را مرور کنید تغییر تغییرات:
- هر نوع بنفش (#879): انجام دهید خاموش کردن قبل از به روزرسانی
- به روزرسانی های پروتکل تکثیر ( #1789 ، #2308): برای جلوگیری از خرابی ، دستورالعمل های راه اندازی مجدد خوشه را دنبال کنید.
- به روزرسانی پروتکل استاد / عامل (#2468): اگر در حال جستجوی Manticore در یک محیط توزیع شده با چندین نمونه هستید ، حتماً ابتدا عوامل را ارتقا دهید ، سپس استادان.
برای جزئیات کامل و تغییرات بیشتر شکستن ، به ChangeLog مراجعه کنید.
search جستجوی فازی و خودکار
خداحافظی با تایپی! جدید جستجوی فازی با مطابقت با اصطلاحات مشابه ، اشتباهات هجی را انجام می دهد ناقص نمایش داده ها را در زمان واقعی پیش بینی می کند. ایده آل برای تجارت الکترونیکی و میله های جستجوی پویا.
mysql> call autocomplete('gra', 'test');
+-----------+
| query |
+-----------+
| gradually |
| grow |
| grew |
| angry |
| draw |
| hungry |
| brave |
+-----------+
mysql> SELECT * FROM mytable WHERE MATCH('someting') OPTION fuzzy=1, layouts='us,ua', distance=2;
+------+-------------+
| id | content |
+------+-------------+
| 1 | something |
| 2 | some thing |
+------+-------------+
2 rows in set (0.00 sec)
هر دو ویژگی جدید نیز از طریق رابط JSON قابل دسترسی هستند.
پیمایش برای صفحه بندی (#2811)
به طور کارآمد با مجموعه داده های بزرگ با کتیبه گزینه ، ایده آل برای صفحه بندی عمیق بدون مجازات های عملکرد.
SELECT weight(), id FROM test WHERE match('hello') limit 20
OPTION scroll='eyJvcmRlcl9ieV9zdHIiOiJ3ZWlnaHQoKSBkZXNjLCBpZCBhc2MiLCJvcmRlcl9ieSI6W3siYXR0ciI6IndlaWdodCgpIiwiZGVzYyI6dHJ1ZSwidmFsdWUiOjEyODEsInR5cGUiOiJpbnQifSx7ImF0dHIiOiJpZCIsImRlc2MiOmZhbHNlLCJ2YWx1ZSI6MiwidHlwZSI6ImludCJ9XX0=';
⚡ همگام سازی داده های زمان واقعی از کافکا
همگام سازی داده های یکپارچه از کفکابشر داده های جریان را در زمان واقعی به Manticore وارد کنید و امکان جستجوی فوری برای سیاهههای مربوط ، معیارها یا محتوای تولید شده توسط کاربر را فراهم کنید.
CREATE SOURCE kafka
(id bigint, term text, abbrev '$abbrev' text, GlossDef json)
type='kafka'
broker_list='kafka:9092'
topic_list='my-data'
consumer_group='manticore'
num_consumers='2'
batch=50
CREATE TABLE destination_kafka
(id bigint, name text, short_name text, received_at text, size multi);
CREATE MATERIALIZED VIEW view_table
TO destination_kafka AS
SELECT id, term as name, abbrev as short_name, UTC_TIMESTAMP() as received_at, GlossDef.size as size FROM kafka
📊 عملکرد: شاخص های ثانویه برای JSON (#1928)
نمایش داده شدگان را که توسط ویژگی های JSON فیلتر شده است تسریع کنید شاخص های ثانویه برای JSONبشر
ALTER TABLE users ADD COLUMN profile JSON;
ALTER TABLE users ADD secondary_index profile_json ON (profile);
همچنین یک فهرست جدول نمایش فرمان جدید برای بازرسی از فهرست وجود دارد:
mysql> SHOW TABLE test INDEXES;
+------------------------------+--------+---------+---------+
| Name | Type | Enabled | Percent |
+------------------------------+--------+---------+---------+
| j['addresses'] | uint32 | 1 | 100 |
| j['addresses']['a1'] | uint32 | 1 | 100 |
| j['addresses']['a2'] | uint32 | 1 | 100 |
| j['factor'] | uint32 | 1 | 100 |
| j['int_arr'] | uint32 | 1 | 100 |
| j['tags'] | uint32 | 1 | 100 |
| id | int64 | 1 | 100 |
| j['price'] | float | 1 | 100 |
| j['addresses']['a1']['id'] | string | 1 | 100 |
| j['addresses']['a1']['name'] | string | 1 | 100 |
| j['addresses']['a2']['id'] | string | 1 | 100 |
| j['addresses']['a2']['name'] | string | 1 | 100 |
| j['arr'] | string | 1 | 100 |
| j['str'] | string | 1 | 100 |
| j['tags']['1'] | string | 1 | 100 |
| j['tags']['2'] | string | 1 | 100 |
+------------------------------+--------+---------+---------+
16 rows in set (0.00 sec)
📊 عملکرد: به روزرسانی ها و ادغام های غیر مسدود کننده (شماره 2361)
دیگر تأخیرهای پرس و جو در طول ادغام تکه های دیسک وجود ندارد! به روزرسانی ها و جستجوها اکنون بدون وقفه اجرا می شوند در حالی که تکه های دیسک بهینه شده اند.
📊 عملکرد: تکه های دیسک اتوماتیک برای جداول RT (#2787)
اکنون ، Manticore به طور خودکار یک تکه قوچ را به یک تکه دیسک می اندازد و از مشکلات عملکرد ناشی از عدم بهینه سازی در تکه های قوچ جلوگیری می کند ، که گاهی بسته به اندازه تکه می تواند منجر به بی ثباتی شود.
شما می توانید آن را در هر جدول یا برای کل جدول با تنظیمات diskchunk_flush_write_timeout کنترل کنید.
🌍 توکن سازی چینی Jieba (#931)
به تجزیه و تحلیل دقیق متن چینی با ادغام جیبابشر
CREATE TABLE products(title text, price float) charset_table = 'cont' morphology = 'jieba_chinese'
و بسیاری دیگر
به روزرسانی های برجسته در بالا فقط بخشی از پیشرفت های بسیاری در Manticore 7.0.0 است. لطفا در مورد:
🚀 7 تغییر عمده
✅ 49 تغییر جزئی
🐞 63 رفع اشکال
در ChangeLog
🚀 امروز شروع کنید
ارتقاء به Manticore Search 7.0.0 برای بهره گیری از این ویژگی های جدید قدرتمند. برای لیست کامل تغییرات ، به ChangeLog مراجعه کنید.
ما دوست داریم از شما بشنویم!
- به بحث در انجمن جامعه ما بپیوندید
- گزارش ها را گزارش کنید یا ویژگی های موجود در GitHub را پیشنهاد دهید
- با ما در Slack گپ بزنید
- مستقیماً به ما ایمیل بزنید
contact@manticoresearch.com
با تشکر ویژه از مشارکت کنندگان subnix ، animetosho ، الکسی ایوانوف و همه کسانی که به شکل گیری این نسخه کمک کردند! ❤