برنامه نویسی

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

ما از اعلام آزادی هیجان زده ایم Manticore Search 7.0.0، بسته بندی شده با ویژگی های پیشگامانه ، بهینه سازی عملکرد و پیشرفت های مهم برای بالا بردن تجربه جستجوی شما. از قابلیت های جستجوی فازی گرفته تا ادغام یکپارچه Kafka ، این نسخه به توسعه دهندگان این امکان را می دهد تا برنامه های سریعتر ، انعطاف پذیر و کاربر پسند بسازند.


🚨 یادداشت های مهم ارتقاء

قبل از غواصی به ویژگی های جدید ، لطفاً این موارد را مرور کنید تغییر تغییرات:

  1. هر نوع بنفش (#879): انجام دهید خاموش کردن قبل از به روزرسانی
  2. به روزرسانی های پروتکل تکثیر ( #1789 ، #2308): برای جلوگیری از خرابی ، دستورالعمل های راه اندازی مجدد خوشه را دنبال کنید.
  3. به روزرسانی پروتکل استاد / عامل (#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 ، الکسی ایوانوف و همه کسانی که به شکل گیری این نسخه کمک کردند!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا