हम Manticore Search 3.3.0 के रिलीज की घोषणा करते हुए प्रसन्नता महसूस कर रहे हैं। डाउनलोड यहाँ उपलब्ध हैं। डॉकर इमेज Docker Hub पर उपलब्ध है।
नई सुविधाएँ
मल्टी-थ्रेडेड RT
3.3.0 में 2 प्रमुख सुविधाओं में से एक है रीयल-टाइम इंडेक्स के लिए मल्टी-थ्रेडिंग खोज। यदि आपके पास कई डिस्क चंक्स के साथ रीयल-टाइम इंडेक्स है (जो अक्सर तब होता है जब आप OPTIMIZE बहुत कम करते हैं), तो dist_threads > 1 का उपयोग करने से खोज को डिस्क चंक्स में समानांतर खोजने के लिए कई थ्रेड्स का उपयोग करने की अनुमति मिलती है। इससे पहले, प्रत्येक RT इंडेक्स द्वारा एक ही थ्रेड का उपयोग किया जाता था और यदि इसमें कई डिस्क चंक्स होते थे, तो सभी को एक-एक करके खोजा जाता था जिससे खोज धीमी (या बहुत धीमी) होती थी। यदि आपका अनुप्रयोग CPU बाउंड नहीं है तो नई कार्यक्षमता आपके प्रदर्शन को काफी बढ़ा सकती है। प्रदर्शन OPTIMIZE के बाद से भी अधिक हो सकता है।
CREATE TABLEα और DROP TABLEα
3.3.0 से उपलब्ध एक अन्य प्रमुख सुविधा है CREATE और DROP TABLE का समर्थन। अब यदि आप रीयल-टाइम इंडेक्स का उपयोग करते हैं (जिसकी हम अत्यधिक सिफारिश करते हैं) तो आपके लिए उनके लिए कोई कॉन्फ़िगरेशन आवश्यक नहीं है। यहाँ दिखता है कि आपकी कॉन्फ़िगरेशन अब कैसे दिख सकती है:
searchd {
listen = 9306:mysql41
data_dir = data
pid_file = 9306.pid
binlog_path = data
}
और बस इतना ही। उसके बाद एक इंडेक्स बनाने के लिए बस करें
mysql> create table idx(f field, a int);
Query OK, 0 rows affected (0.00 sec)
और आपका इंडेक्स वहाँ होगा:
mysql> desc idx;
+-------+--------+----------------+
| Field | Type | Properties |
+-------+--------+----------------+
| id | bigint | |
| f | field | indexed stored |
| a | uint | |
+-------+--------+----------------+
3 rows in set (0.00 sec)
फिर जब इसकी आवश्यकता न हो तो बस इसे हटा दें:
mysql> drop table idx;
Query OK, 0 rows affected (0.00 sec)
mysql> show tables;
Empty set (0.00 sec)
इसका मतलब है कि अब आपके अनुप्रयोग से केवल आपके डेटा को ही नहीं, बल्कि आपके स्कीमा को भी नियंत्रित करना आसान है। क्या यह अद्भुत नहीं है?
सावधानी: यह विशेषता अल्फा चरण में है। इसका अभी तक दस्तावेजीकरण नहीं किया गया है, इसकी सिंटैक्स में थोड़ी बहुत बदलाव हो सकता है और हमें नहीं पता कि कोई इसे प्रोडक्शन में उपयोग करता है। यदि आप एक बीटा-टेस्टर बनना चाहते हैं - तो हमें बताएं, हम सुनिश्चित करने के लिए साथ काम करेंगे कि यह सही से काम कर रहा है।
इस विशेषता का उपयोग करने के लिए कॉन्फ़िगरेशन में कोई इंडेक्स/स्रोत परिभाषाएँ नहीं होनी चाहिए और data_dir को नीचे दिए गए उदाहरण के रूप में सेट किया जाना चाहिए। यह मोड साधारण इंडेक्स का समर्थन नहीं करता है।
मौजूदा सेटअप पहले की तरह काम करते हैं, लेकिन आप वहां CREATE/DROP TABLE कमांड का उपयोग नहीं कर सकते।
indexer --print-rt
Indexer अब एक नई विकल्प –print-rt के साथ है जो एक साधारण इंडेक्स स्रोत से डेटा को रीयल-टाइम इंडेक्स के लिए INSERT कमांड के रूप में डंप करता है। इसके साथ, डेटा का स्कीमा रीयल-टाइम क्षेत्रों/गुणों के रूप में प्रदान किया जाता है।
EXPLAIN QUERY
EXPLAIN QUERY एक कमांड है जो पूर्ण-पाठ खोज निष्पादन पेड़ लौटाता है ठीक इसी तरह जैसे SHOW PLAN , लेकिन इसके विपरीत यह इंडेक्स पर वास्तविक खोज नहीं करता है और इंडेक्स खाली या यहां तक कि टेम्पलेट प्रकार हो सकता है। यहाँ एक उदाहरण है:
mysql> explain query idx 'abc "def ghi" "a b c d"~5 I'\G
*************************** 1. row ***************************
Variable: transformed_tree
Value: AND(
AND(KEYWORD(abc, querypos=1)),
PHRASE(
AND(KEYWORD(def, querypos=2)),
AND(KEYWORD(ghi, querypos=3))),
PROXIMITY(distance=5,
AND(KEYWORD(b, querypos=4)),
AND(KEYWORD(c, querypos=5)),
AND(KEYWORD(d, querypos=6))))
1 row in set (0.00 sec)
अन्य सुधार
- Snowball 2.0 स्टेमिंग पुस्तकालय में अपडेट किया गया। इससे स्टेमर्स की संख्या 25 हो गई है, जो सभी हमारे पैकेजों में शामिल हैं।
- SHOW INDEX STATUS स्टेटमेंट को आसान फ़िल्टरिंग के लिए LIKE प्राप्त हुआ है।
- उच्च max_matches वाली क्वेरीज़ के लिए मेमोरी उपयोग को काफी बेहतर किया गया है जो वितरित इंडेक्स पर है।
- सिस्टमडी पैकेजों के लिए हमने LimitNOFILE को ‘infinity’ से 65536 में बदल दिया है।
- Percolate Queries अब लॉकलेस हैं - पिछले संस्करणों में, लंबा CALL PQ या स्टोर की गई क्वेरियों को अपडेट एक-दूसरे में हस्तक्षेप कर सकते थे।
इस रिलीज में कई बगों को ठीक किया गया है, कुछ का नाम लें:
HIGHLIGHT()
मुद्दे पासेज मैक्रो ( 493a5e9 ) और एचटीएमएल स्ट्रिपिंग ( ca81114 )- कुछ मामलों में RT इंडेक्स ने बहुत अधिक डिस्क चंक्स बनाए ( 8bea0f6 , a82d41c)
- docstore मुद्दे ATTACH के साथ उपयोग करते समय ( 6895374 ) और वितरित अनुक्रमणिका ( d6f696e )
पूर्ण परिवर्तन लॉग के लिए कृपया रिलीज़ नोट्स से परामर्श करें।