blog-post

उन्नत फुल-टेक्स्ट मिलान Manticore Search के REGEX ऑपरेटर के साथ

परिचय

खोज इंजनों में उन्नत फुल-टेक्स्ट मिलान खोज परिणामों में सटीकता और प्रासंगिकता बढ़ाने के लिए प्रमुख है। यह विशेष रूप से पेटेंट विश्लेषण, अनुबंध समीक्षा, क्लॉज पहचान, और ट्रेडमार्क खोजों जैसे क्षेत्रों में महत्वपूर्ण है, जहाँ खोज कार्यक्षमता में सटीकता आवश्यक है। Manticore Search का एक साधारण <code>REGEX()</code> फ़ंक्शन से एक पूर्ण-टेक्स्ट REGEX ऑपरेटर के रूप में 6.3.0 तक का प्रगति इस संदर्भ में एक महत्वपूर्ण विकास है, जो क्वेरियों में जटिल और सूक्ष्म पैटर्न मिलान की पेशकश करता है।

नया REGEX ऑपरेटर जटिल खोज परिदृश्यों के लिए विशेष रूप से उपयोगी है। उदाहरण के लिए, डेटा एनालिटिक्स प्लेटफार्मों में, यह लॉग फ़ाइलों या कोड रिपॉजिटरी में विशिष्ट पैटर्न की खोज कर सकता है, अद्वितीय त्रुटि कोड या प्रोग्रामिंग निर्माणों की पहचान कर सकता है। अकादमिक अनुसंधान डेटाबेस में, यह शोधकर्ताओं को विशिष्ट उद्धरण शैलियों या पुस्तकालय संदर्भ पैटर्न के साथ प्रकाशनों को खोजने में सक्षम बनाता है। इसके अलावा, ट्रेडमार्क खोजों में, REGEX ऑपरेटर सटीक या समान ट्रेडमार्क खोजने के लिए बेजोड़ है, दी गई ट्रेडमार्क पाठों की विविध और जटिल प्रकृति को देखते हुए।

क्वेरियों में REGEX का उपयोग

REGEX ऑपरेटर का उपयोग करने के लिए, आपकी तालिका को min_infix_len या min_prefix_len के साथ कॉन्फ़िगर किया जाना चाहिए। यह सेटअप यदि आप उपस्ट्रिंग खोज का उपयोग करते हैं तो पहले से परिचित हो सकता है। नया REGEX ऑपरेटर एक उन्नत वाइल्डकार्ड ऑपरेटर के समान है। उदाहरण के लिए, REGEX(/t.?e/) किसी भी टर्म से मेल खाता है जो ’t’ से शुरू होता है, उसके बाद कोई चरित्र होता है, और ’e’ से समाप्त होता है। यह ऑपरेटर की क्षमता को विविध और जटिल टेक्स्ट पैटर्न को संभालने की क्षमता को उजागर करता है, जो खोज क्वेरियों के लिए एक परिष्कृत दृष्टिकोण प्रदान करता है।

उदाहरण

मान लें कि हमारे पास यह तालिका है:

create table brands(name text) min_infix_len='2' charset_table='non_cjk, -'

select * from brands;
--------------

+---------------------+------------------------+
| id                  | name                   |
+---------------------+------------------------+
| 1515699435999330620 | SeaCrest Flower        |
| 1515699435999330621 | C-Crest Flour          |
| 1515699435999330622 | CCrest Flower          |
| 1515699435999330623 | Flower SeaCrest        |
| 1515699435999330624 | RightWrite Stationery  |
| 1515699435999330625 | WriteRight Stationery  |
| 1515699435999330626 | SoleSoul Footwear      |
| 1515699435999330627 | SoulSole Footwear      |
| 1515699435999330628 | PeakBeak Aviaries      |
| 1515699435999330629 | BeakPeak Aviaries      |
| 1515699435999330630 | GrateGreat Kitchenware |
| 1515699435999330631 | GreatGrate Kitchenware |
| 1515699435999330632 | Sunnyside Cyder        |
| 1515699435999330633 | SunnyCide Cyder        |
| 1515699435999330634 | ThymeTime Cooking      |
| 1515699435999330635 | TimeThyme Cooking      |
| 1515699435999330636 | KnightNight Security   |
| 1515699435999330637 | NightKnight Security   |
| 1515699435999330638 | PearPair Electronics   |
| 1515699435999330639 | PairPear Electronics   |
+---------------------+------------------------+
20 rows in set (0.00 sec)

पहले, SeaCrest Flower, C-Crest Flour, और CCrest Flower ब्रांडों को खोजने के लिए - जो सभी सुनने में समान हैं — एक क्वेरी को Exhaustive होना पड़ता था:

select * from brands where match('"SeaCrest flower"|"SeaCrest flour"|"CCrest flower"|"CCrest flour"|"C-Crest flower"|"C-Crest flour"');

नए REGEX ऑपरेटर के साथ, हम इस क्वेरी को सरल बना सकते हैं:

select * from brands where match('"REGEX(/(c|sea).*crest/) REGEX(/flo(we|u)r/)"')
--------------

+---------------------+-----------------+
| id                  | name            |
+---------------------+-----------------+
| 1515699435999330620 | SeaCrest Flower |
| 1515699435999330621 | C-Crest Flour   |
| 1515699435999330622 | CCrest Flower   |
+---------------------+-----------------+
3 rows in set (0.00 sec)

RE2 सिंटैक्स और प्रदर्शन

Manticore Search में REGEX ऑपरेटर RE2 सिंटैक्स का पालन करता है, जिसे नियमित अभिव्यक्तियों को प्रोसेसिंग में उच्च प्रदर्शन और सुरक्षा के लिए जाना जाता है। Google द्वारा विकसित, RE2 सामान्य नियमित अभिव्यक्ति प्रोसेसिंग में खतरनाक बैकट्रैकिंग जैसे सामान्य pitfalls से बचता है, जिससे यह विभिन्न अनुप्रयोगों के लिए प्रभावी और सुरक्षित बनाता है। जबकि यह शक्तिशाली है, REGEX ऑपरेटर का उपयोग खोज समय पर प्रभाव डाल सकता है, विशेष रूप से जब बड़े शब्दकोशों को स्कैन किया जाता है। उपयोगकर्ताओं को खोज क्षमताओं की गहराई और क्वेरी प्रदर्शन के बीच संतुलन खोजने की आवश्यकता हो सकती है। प्रदर्शन-संवेदनशील स्थितियों में, REGEX पैटर्न को सरल बनाना और अतिरिक्त खोज फ़िल्टरों का उपयोग करना मदद कर सकता है, इस प्रकार जटिलता और दक्षता के बीच संतुलन बनाए रखना।

निष्कर्ष

Manticore Search में REGEX ऑपरेटर का परिचय फुल-टेक्स्ट खोज क्षमताओं में एक उल्लेखनीय उन्नति का संकेत है। यह खोज परिणामों की सटीकता और प्रासंगिकता को बढ़ाता है और डेटा एनालिटिक्स, अकादमिक अनुसंधान, और ट्रेडमार्क खोजों सहित विभिन्न डोमेन में जटिल क्वेरी हैंडलिंग के लिए नई संभावनाएँ खोलता है। REGEX ऑपरेटर का लाभ उठाकर, उपयोगकर्ता उच्च स्तर की खोज क्षमता और सटीकता प्राप्त कर सकते हैं, जिससे Manticore Search पूर्ण-टेक्स्ट सर्च इंजन परिदृश्य में एक और भी शक्तिशाली और बहुपरकारी उपकरण बन जाता है।

मैंटीकोर सर्च इंस्टॉल करें

मैंटीकोर सर्च इंस्टॉल करें