blog-post

कैसे खोज परिणामों को हाइलाइट करें

इस ट्यूटोरियल में आप सीखेंगे कि Manticore खोज में खोज परिणामों को कैसे हाइलाइट करें। यदि आप अपने एप्लिकेशन या वेबसाइट में खोज परिणामों की पठनीयता को सुधारना चाहते हैं, तो आप खोज परिणामों को हाइलाइट करने से लाभ उठा सकते हैं।

हाइलाइटिंग आपको मिलान करने वाले कीवर्ड के साथ खोज परिणामों के अंश प्राप्त करने की अनुमति देती है। यह आपके एप्लिकेशन के खोज अनुभव को सुधारने में मदद करती है।

परिचय


आप Manticore खोज में टेक्स्ट में कीवर्ड को कई तरीकों से हाइलाइट कर सकते हैं।

  • कथन CALL SNIPPETS दस्तावेजों से अंशों (जिन्हें स्निपेट कहा जाता है) की एक सूची प्राप्त करने की अनुमति देता है जो मिलान करते हैं। इसे एक खोज प्रश्न से अलग करके किसी स्ट्रिंग या स्ट्रिंग की सूची को हाइलाइट करने के लिए इस्तेमाल किया जा सकता है। यहाँ एक उदाहरण है:
    CALL SNIPPETS('my text with keyword', 'index', 'keyword');
  • फ़ंक्शन SNIPPET() प्रदान किए गए डेटा और प्रश्न से एक स्निपेट बनाता है, निर्दिष्ट इंडेक्स सेटिंग्स का उपयोग करते हुए। इस फ़ंक्शन का अधिकांशतः एक SELECT कथन में उपयोग किया जाता है ताकि दिए गए टेक्स्ट, फ़ील्ड मूल्य या किसी अन्य स्रोत से प्राप्त टेक्स्ट को हाइलाइट किया जा सके, जो UDF (उपयोगकर्ता-परिभाषित फ़ंक्शन) का उपयोग करता है। इसका उपयोग मैच क्लॉज़ में दिए गए एक समान प्रश्न या किसी अन्य प्रश्न को हाइलाइट करने के लिए किया जा सकता है, यह आपकी पसंद है। इस तरह:
    SELECT SNIPPET(content,'camera') FROM index WHERE MATCH('camera');
  • फ़ंक्शन HIGHLIGHT() का उपयोग खोज परिणामों को हाइलाइट करने के लिए किया जा सकता है। इस फ़ंक्शन को Manticore 3.2.2 में जोड़ा गया था। यह Manticore में आपके दस्तावेज़ों को स्टोर करने के दौरान कीवर्ड को हाइलाइट करना आसान बनाता है, केवल उन्हें अनुक्रमित करने के बजाय। यहाँ कॉल का एक उदाहरण है:
    SELECT HIGHLIGHT() FROM index WHERE MATCH('text feature');

पहले दो CALL SNIPPETS और SNIPPET() मिलान किए गए कीवर्ड के लिए खोजे गए दस्तावेज़ों के अंशों (जिन्हें स्निपेट कहा जाता है) की एक सूची प्राप्त करने की क्षमता प्रदान करते हैं। अंतिम HIGHLIGHT() दस्तावेज़ भंडारण से सभी उपलब्ध फ़ील्ड को लाता है और उन्हें दिए गए प्रश्न के खिलाफ हाइलाइट करता है। SNIPPET() के विपरीत, HIGHLIGHT() प्रश्नों में फ़ील्ड सिंटैक्स का समर्थन करता है।

तीनों के पास समान हाइलाइटिंग विकल्प होते हैं जिन पर हम अगले चरणों में चर्चा करेंगे। इस ट्यूटोरियल में, हम HIGHLIGHT() के उपयोग के उदाहरण दिखाएंगे।

चलो मान लेते हैं कि आपके पास ‘highlight’ नामक एक इंडेक्स है जिसमें निम्नलिखित सेटिंग्स हैं:

index highlight
{
        type = rt
        path = highlight
        rt_field = title
        rt_field = content
        rt_attr_uint = gid
        stored_fields = title, content
        index_sp = 1
        html_strip = 1
}

मूल उपयोग


एक त्वरित उदाहरण:

पहले, एक दस्तावेज़ जोड़ें:

INSERT INTO highlight(title,content,gid) VALUES('Syntax highlighting','Syntaxhighlighting is a feature of text editors that are used for programming, scripting, or markuplanguages, such as HTML. The feature displays text, especially source code, in different colors and fonts according to the category of terms.[1] This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. Highlighting does not affect the meaning of the text itself;it is intended only for human readers.',1);

और फिर SELECT HIGHLIGHT() चलाएँ:

SELECT HIGHLIGHT() AS h FROM highlight WHERE MATCH('text feature')\G
*************************** 1. row ***************************
h: Syntax highlighting is a <b>feature</b> of <b>text</b> editors that are used ... , such as HTML. The <b>feature</b> displays <b>text</b>, especially source code, in ... of terms.[1] This <b>feature</b> facilitates writing in a structured ... affect the meaning of the <b>text</b> itself; it is intended ...

डिफ़ॉल्ट रूप से, मिलान किए गए शब्दों में से कोई भी ‘बोल्ड’ टैग के साथ हाइलाइट किया जाता है और प्रत्येक मिलान के चारों ओर अधिकतम 5 शब्द उठाए जाते हैं ताकि एक अंश तैयार किया जा सके।
अंश डिफ़ॉल्ट रूप से ... से अलग किए जाते हैं।

HTML टैग का उपयोग मिलान को हाइलाइट करने के लिए किया जाता है क्योंकि स्निपेट अक्सर HTML सामग्री में प्रदर्शित होते हैं, लेकिन आप “before_match”, “after_match”, “around” और “chunk_separator” सेटिंग्स के साथ व्यवहार को अनुकूलित कर सकते हैं। उदाहरण के लिए:

SELECT HIGHLIGHT({before_match='*',after_match='*',around=1,chunk_separator='###'}) AS h FROM highlight WHERE MATCH('text feature')\G
*************************** 1. row ***************************
h: ### a *feature* of *text*###. The *feature* displays *text*###] This *feature* facilitates### the *text* itself###

स्निपेट का आकार नियंत्रित करें


डिफ़ॉल्ट सेटिंग्स अधिकतम स्निपेट आकार के रूप में 256 अक्षरों की सीमा (एक ही नाम के सेटिंग के तहत - “limit”) लगाती हैं। आप इसे इस तरह बदल सकते हैं:

SELECT HIGHLIGHT({limit=10}) AS h FROM highlight WHERE MATCH('text feature')\G
*************************** 1. row ***************************
h:  ...  a <b>feature</b> ...

एक और सीमा जिसे बदला जा सकता है वह स्निपेट में शामिल शब्दों की संख्या है जो “limit_words” द्वारा परिभाषित की गई है:

SELECT HIGHLIGHT({limit_words=5},'content') AS h FROM highlight WHERE MATCH('text feature')\G
*************************** 1. row ***************************
h: ... . The <b>feature</b> displays <b>text</b>, especially ...

यह भी संभव है कि अंशों की संख्या को सीमित करें, उदाहरण के लिए, यदि हम केवल एक अंश प्राप्त करना चाहते हैं:

SELECT HIGHLIGHT({limit_passages=1}) AS h FROM highlight WHERE MATCH('text feature')\G
*************************** 1. row ***************************
h:  ...  languages, such as HTML. The <b>feature</b> displays <b>text</b>, especially source code, in ...

HIGHLIGHT() फ़ंक्शन का डिफ़ॉल्ट व्यवहार यह है कि यह पाए गए अंशों को परिभाषित किए गए सेपरेटर द्वारा अलग करता है जिनके बीच का स्थान से सीमा द्वारा परिभाषित होता है।
As it’s possible that the limit may not be enough for all passages we may get only a part of the possible passages.

To demonstrate it let’s add first a document with a longer text.


  

INSERT INTO highlight(title,content) values('wikipedia','Syntax highlighting is a feature of text editors that are used for programming, scripting, or markup languages, such as HTML. The feature displays text, especially source code, in different colors and fonts according to the category of terms.[1] This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. Highlighting does not affect the meaning of the text itself; it is intended only for human readers. Syntax highlighting is a form of secondary notation, since the highlights are not part of the text meaning, but serve to reinforce it. Some editors also integrate syntax highlighting with other features, such as spell-checking or code folding, as aids to editing which are external to the language. Contents 1Practical benefits 2Support in text editors 3Syntax elements 3.1Examples 4History and limitations 5See also 6References Practical benefits Highlighting the effect of missing delimiter (after watch=false) in Javascript Syntax highlighting is one strategy to improve the readability and context of the text; especially for code that spans several pages. The reader can easily ignore large sections of comments or code, depending on what they are looking for. Syntax highlighting also helps programmers find errors in their program. For example, most editors highlight string literals in a different color. Consequently, spotting a missing delimiter is much easier because of the contrasting color of the text. Brace MATCHing is another important feature of many popular editors. This makes it simple to see if a brace has been left out or locate the MATCH of the brace the cursor is on by highlighting the pair in a different color. A study published in the conference PPIG evaluated the effects of syntax highlighting on the comprehension of short programs, finding that the presence of syntax highlighting significantly reduces the time taken for a programmer to internalize the semantics of a program.[2] Additionally, data gathered FROM an eye-tracker during the study suggested that syntax highlighting enables programmers to pay less attention to standard syntactic components such as keywords. Support in text editors gedit supports syntax highlighting Some text editors can also export the colored markup in a format that is suitable for printing or for importing into word-processing and other kinds of text-formatting software; for instance asa HTML, colorized LaTeX, PostScript or RTF version of its syntax highlighting. There are several syntax highlighting libraries or "engines" that can be used in other applications, but are not complete programs in themselves, for example the Generic Syntax Highlighter (GeSHi) extension for PHP. For editors that support more than one language, the user can usually specify the language of the text, such as C, LaTeX, HTML, or the text editor can automatically recognize it based on the file extension or by scanning contents of the file. This automatic language detection presents potential problems. For example, a user may want to edit a document containing: morethan one language (for example when editing an HTML file that contains embedded Javascript code), a language that is not recognized (for example when editing source code for an obscure or relatively new programming language), a language that differs FROM the file type (for example when editing source code in an extension-less filein an editor that uses file extensions to detect the language). In these cases, it is not clear what language to use, and a document may not be highlighted or be highlighted incorrectly. Syntax elements Most editors with syntax highlighting allow different colors and text styles to be given to dozens of different lexical sub-elements of syntax. These include keywords, comments, control-flow statements, variables, and other elements. Programmers often heavily customize their settings in an attempt to show as much useful information as possible without making the code difficult to read.');
  

Let’s highlight it now:


  

SELECT HIGHLIGHT({},'content') AS h FROM highlight WHERE MATCH('syntax')\G
  
*************************** 1. row ***************************
  
h: <b>syntax</b> highlighting is a feature of ... language as both structures and <b>syntax</b> errors are visually distinct. Highlighting ...
  
*************************** 2. row ***************************

  

h: ... version of its <b>syntax</b> highlighting. There are several <b>syntax</b> highlighting libraries ... highlighted incorrectly. <b>syntax</b> elements Most editors with <b>syntax</b> highlighting allow different ... different lexical sub-elements of <b>syntax</b>. These include keywords, comments, ...
  

For the newly added document, we see the HIGHLIGHT() doesn’t give us all the passages. We can increase the limit to overcome that, the question is how far. If we use too high value, the HIGHLIGHT() returns the full body of the content (including the highlights):


  

SELECT HIGHLIGHT({limit=10000},'content') AS h FROM highlight WHERE MATCH('syntax')\G
  
*************************** 1. row ***************************
  
h: <b>syntax</b> highlighting is a feature of text editors that are used for programming, scripting, or markuplanguages, such as HTML. The feature displays text, especially source code, in different colors and fonts according to the category of terms.[1] This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and <b>syntax</b> errors are visually distinct. Highlighting does not affect the meaning of the text itself; it is intended only for human readers.
  
*************************** 2. row ***************************


h: <b>सिंटैक्स</b> हाइलाइटिंग पाठ संपादकों की एक विशेषता है जो प्रोग्रामिंग, स्क्रिप्टिंग, या मार्कअप भाषाओं, जैसे कि HTML, के लिए उपयोग की जाती है। यह विशेषता पाठ को, विशेष रूप से स्रोत कोड, को विभिन्न श्रेणियों के अनुसार अलग-अलग रंगों और फॉन्ट में प्रदर्शित करती है। [1] यह विशेषता एक संरचित भाषा में लिखने में सुविधा प्रदान करती है जैसे कि एक प्रोग्रामिंग भाषा या एक मार्कअप भाषा क्योंकि दोनों संरचनाएँ और <b>सिंटैक्स</b> त्रुटियाँ दृष्टिगत रूप से स्पष्ट होती हैं। हाइलाइटिंग का पाठ के अर्थ पर कोई प्रभाव नहीं पड़ता है; यह केवल मानव पाठकों के लिए अभिप्रेत है। <b>सिंटैक्स</b> हाइलाइटिंग द्वितीयक नोटेशन का एक रूप है, क्योंकि हाइलाइट्स पाठ के अर्थ का हिस्सा नहीं हैं, बल्कि इसे मजबूत करने के लिए कार्य करती हैं। कुछ संपादक अन्य सुविधाओं के साथ <b>सिंटैक्स</b> हाइलाइटिंग को भी एकीकृत करते हैं, जैसे कि वर्तनी जांचना या कोड फोल्डिंग, जो संपादन के लिए भाषा से बाहर की सहायता होती हैं। सामग्री 1 व्यावहारिक लाभ 2 पाठ संपादकों में समर्थन 3 सिंटैक्स तत्व 3.1 उदाहरण 4 इतिहास और सीमाएँ 5 अन्य देखें 6 संदर्भ व्यावहारिक लाभ जावास्क्रिप्ट <b>सिंटैक्स</b> हाइलाइटिंग में गायब डेलिमिटर (watch=false के बाद) के प्रभाव को हाइलाइट करना एक रणनीति है जो पाठ की पठनीयता और संदर्भ में सुधार करने के लिए है; विशेष रूप से कोड के लिए जो कई पन्नों में फैला होता है। पाठक आसानी से टिप्पणियों या कोड के बड़े खंडों को अनदेखा कर सकता है, इस बात पर निर्भर करते हुए कि वे क्या खोज रहे हैं। <b>सिंटैक्स</b> हाइलाइटिंग प्रोग्रामरों को उनके प्रोग्राम में त्रुटियाँ खोजने में भी मदद करती है। उदाहरण के लिए, अधिकांश संपादक स्ट्रिंग लिटरेट्स को अलग-अलग रंग में हाइलाइट करते हैं। इस प्रकार, एक गायब डेलिमिटर को पहचानना बहुत आसान हो जाता है क्योंकि पाठ का विपरीत रंग होता है। ब्रेसे मैचिंग एक अन्य महत्वपूर्ण सुविधा है जो कई लोकप्रिय संपादकों में होती है। इससे यह देखना आसान हो जाता है कि कोई ब्रेसे छोड़ी गई है या उन ब्रेसे के मैच को ढूंढने के लिए जिन पर कर्सर है, जो एक अलग रंग में जोड़ी को हाइलाइट करके किया जाता है। एक अध्ययन जो सम्मेलन PPIG में प्रकाशित हुआ, ने संक्षिप्त कार्यक्रमों की समझ पर <b>सिंटैक्स</b> हाइलाइटिंग के प्रभावों का मूल्यांकन किया, यह पाता है कि <b>सिंटैक्स</b> हाइलाइटिंग की उपस्थिति प्रोग्रामर के एक कार्यक्रम की अर्थविधान को आंतरिक बनाने के लिए लिए गए समय को महत्वपूर्ण रूप से कम करता है। [2] अतिरिक्त रूप से, अध्ययन के दौरान आंख-ट्रैकर से एकत्रित डेटा ने सुझाव दिया कि <b>सिंटैक्स</b> हाइलाइटिंग प्रोग्रामरों को मानक सिंटैक्स घटकों जैसे कि कीवर्ड पर कम ध्यान केंद्रित करने की अनुमति देती है। पाठ संपादकों में समर्थन gedit <b>सिंटैक्स</b> हाइलाइटिंग का समर्थन करता है कुछ पाठ संपादक रंगीन मार्कअप को ऐसे प्रारूप में निर्यात कर सकते हैं जो प्रिंटिंग या शब्द-प्रसंस्करण और अन्य प्रकार के पाठ-फॉर्मेटिंग सॉफ़्टवेयर में आयात के लिए उपयुक्त हो; उदाहरण के लिए, HTML, रंगीन LaTeX, PostScript या RTF संस्करण के रूप में इसके <b>सिंटैक्स</b> हाइलाइटिंग। कई <b>सिंटैक्स</b> हाइलाइटिंग पुस्तकालय या "इंजन" हैं जो अन्य अनुप्रयोगों में उपयोग किए जा सकते हैं, लेकिन स्वयं में पूर्ण कार्यक्रम नहीं हैं, जैसे कि PHP के लिए सामान्य <b>सिंटैक्स</b> हाईलाइटर (GeSHi) विस्तार। उन संपादकों के लिए जो एक से अधिक भाषाओं का समर्थन करते हैं, उपयोगकर्ता आमतौर पर पाठ की भाषा निर्दिष्ट कर सकता है, जैसे C, LaTeX, HTML, या पाठ संपादक इसे फ़ाइल विस्तार के आधार पर या फ़ाइल की सामग्री को स्कैन करके स्वचालित रूप से पहचान सकता है। यह स्वचालित भाषा पहचान संभावित समस्याएँ प्रस्तुत करती है। उदाहरण के लिए, एक उपयोगकर्ता एक दस्तावेज़ संपादित करना चाहता हो सकता है जिसमें: एक से अधिक भाषा (उदाहरण के लिए, एक HTML फ़ाइल संपादित करते समय जिसमें एम्बेडेड जावास्क्रिप्ट कोड होता है), एक अनियंत्रित भाषा (उदाहरण के लिए, एक अस्पष्ट या अपेक्षाकृत नए प्रोग्रामिंग भाषा के लिए स्रोत कोड संपादित करते समय), एक भाषा जो फ़ाइल प्रकार से भिन्न होती है (उदाहरण के लिए, एक विस्तार-रहित फ़ाइल में स्रोत कोड संपादित करते समय एक संपादक जो भाषा का पता लगाने के लिए फ़ाइल विस्तार का उपयोग करता है) इन मामलों में, यह स्पष्ट नहीं है कि कौन सी भाषा का उपयोग करना है, और एक दस्तावेज़ को हाइलाइट नहीं किया जा सकता है या गलत तरीके से हाइलाइट किया जा सकता है। <b>सिंटैक्स</b> तत्व अधिकांश संपादकों के साथ <b>सिंटैक्स</b> हाइलाइटिंग विभिन्न रंगों और पाठ शैलियों को <b>सिंटैक्स</b> के दर्जनों विभिन्न लेक्सिकल उप-तत्वों को देने की अनुमति देती है। इनमें कीवर्ड, टिप्पणियाँ, नियंत्रण-धारा कथन, वेरिएबल और अन्य तत्व शामिल हैं। प्रोग्रामर अक्सर अपने सेटिंग्स को इस प्रयास में भारी अनुकूलित करते हैं कि वे जितनी संभव हो सके उपयोगी जानकारी प्रदर्शित कर सकें बिना कोड को पढ़ना मुश्किल बनाए।

यदि हम केवल शारीरिक अंशों को हाइलाइट करना चाहते हैं तो हमें विकल्प “force_passages” का उपयोग करना होगा:

SELECT HIGHLIGHT({limit=10000,force_passages=1},'content') AS h FROM highlight WHERE MATCH('सिंटैक्स')\G
*************************** 1. पंक्ति ***************************
h: <b>सिंटैक्स</b> हाइलाइटिंग एक विशेषता है ... भाषा के रूप में दोनों संरचनाएँ और <b>सिंटैक्स</b> त्रुटियाँ दृष्टिगत रूप से स्पष्ट होती हैं। हाइलाइटिंग ...
*************************** 2. पंक्ति ***************************

h: <b>सिंटैक्स</b> हाइलाइटिंग एक विशेषता है ... भाषा के रूप में दोनों संरचनाएँ और <b>सिंटैक्स</b> त्रुटियाँ दृष्टिगत रूप से स्पष्ट होती हैं। हाइलाइटिंग ... केवल मानव पाठकों के लिए अभिप्रेत है। <b>सिंटैक्स</b> हाइलाइटिंग द्वितीयक ... इसे। कुछ संपादक अन्य सुविधाओं के साथ <b>सिंटैक्स</b> हाइलाइटिंग को भी एकीकृत करते हैं, जैसे ... (watch=false के बाद) जावास्क्रिप्ट <b>सिंटैक्स</b> हाइलाइटिंग में गायब डेलिमिटर का प्रभाव ...

पूर्ण पाठ को हाइलाइट के साथ प्राप्त करने का एक अन्य संभावित तरीका है बस limit=0 का उपयोग करें:

SELECT HIGHLIGHT({limit=0},'content') AS h FROM highlight WHERE MATCH('पाठ विशेषता')\G
*************************** 1. row ***************************
h: सिंटैक्स हाइलाइटिंग एक <b>विशेषता</b> है <b>पाठ</b> संपादकों की जो प्रोग्रामिंग, स्क्रिप्टिंग, या मार्कअप भाषाओं के लिए उपयोग किए जाते हैं, जैसे कि HTML। <b>विशेषता</b> <b>पाठ</b> को, खासकर स्रोत कोड को, विभिन्न रंगों और फ़ॉन्ट में प्रदर्शित करती है जो शब्दों की श्रेणी के अनुसार होती है।[1] यह <b>विशेषता</b> एक संरचित भाषा में लिखने की सुविधा प्रदान करती है जैसे कि प्रोग्रामिंग भाषा या मार्कअप भाषा क्योंकि दोनों संरचनाएँ और सिंटैक्स त्रुटियाँ दृश्य रूप से अलग होती हैं। हाइलाइटिंग <b>पाठ</b> के अर्थ को प्रभावित नहीं करती; यह केवल मानव पाठकों के लिए है।

*************************** 2. row ***************************

h: सिंटैक्स हाइलाइटिंग एक <b>विशेषता</b> है <b>पाठ</b> संपादकों की जो प्रोग्रामिंग, स्क्रिप्टिंग, या मार्कअप भाषाओं के लिए उपयोग किए जाते हैं, जैसे कि HTML। <b>विशेषता</b> <b>पाठ</b> को, खासकर स्रोत कोड को, विभिन्न रंगों और फ़ॉन्ट में प्रदर्शित करती है जो शब्दों की श्रेणी के अनुसार होती है।[1] यह <b>विशेषता</b> एक संरचित भाषा में लिखने की सुविधा प्रदान करती है जैसे कि प्रोग्रामिंग भाषा या मार्कअप भाषा क्योंकि दोनों संरचनाएँ और सिंटैक्स त्रुटियाँ दृश्य रूप से अलग होती हैं। हाइलाइटिंग <b>पाठ</b> के अर्थ को प्रभावित नहीं करती; यह केवल मानव पाठकों के लिए है। सिंटैक्स हाइलाइटिंग एक माध्यमिक नोटेशन का एक रूप है, क्योंकि हाइलाइट्स <b>पाठ</b> के अर्थ का हिस्सा नहीं होते, बल्कि इसे मजबूती प्रदान करने के लिए होते हैं। कुछ संपादक सिंटैक्स हाइलाइटिंग को अन्य विशेषताओं के साथ भी एकीकृत करते हैं, जैसे कि वर्तनी जांचना या कोड फोल्डिंग, संपादन की सहायता के लिए जो भाषा से बाहर हैं। सामग्री 1 व्यावहारिक लाभ 2 <b>पाठ</b> संपादकों में समर्थन 3 सिंटैक्स तत्व 3.1 उदाहरण 4 इतिहास और सीमाएँ 5 अन्य देखें 6 संदर्भ व्यावहारिक लाभ जावास्क्रिप्ट में लापता डेलिमिटर (watch=false के बाद) का प्रभाव हाइलाइट करना सिंटैक्स हाइलाइटिंग <b>पाठ</b> की पठनीयता और संदर्भ को सुधारने के लिए एक रणनीति है; खासकर उन कोड के लिए जो कई पृष्ठों में फैले होते हैं। पाठक आसानी से टिप्पणियों या कोड के बड़े हिस्सों को अनदेखा कर सकते हैं, इस पर निर्भर करते हुए कि वे क्या देख रहे हैं। सिंटैक्स हाइलाइटिंग प्रोग्रामरों को अपने प्रोग्राम में त्रुटियाँ खोजने में भी मदद करती है। उदाहरण के लिए, अधिकांश संपादक स्ट्रिंग लिटरल को एक अलग रंग में हाइलाइट करते हैं। परिणामस्वरूप, एक लापता डेलिमिटर को पहचानना बहुत आसान होता है क्योंकि <b>पाठ</b> का विपरीत रंग होता है। ब्रेस मैचिंग एक अन्य महत्वपूर्ण <b>विशेषता</b> है जो कई लोकप्रिय संपादकों में होती है। यह यह सुनिश्चित करने के लिए सरल बनाता है कि क्या एक ब्रैकेट छूट गया है या कर्सर जिस ब्रैकेट पर है उसकी जोड़ी को एक अलग रंग में हाइलाइट कर के ढूंढना। एक अध्ययन जो सम्मेलन PPIG में प्रकाशित हुआ, ने पाया कि सिंटैक्स हाइलाइटिंग की उपस्थिति प्रोग्रामर के लिए एक प्रोग्राम की सिमैंटिक्स को आंतरिक बनाने में लगने वाले समय को काफी कम कर देती है।[2] इसके अतिरिक्त, अध्ययन के दौरान एक आंख-ट्रैकर से एकत्रित डेटा ने सुझाव दिया कि सिंटैक्स हाइलाइटिंग प्रोग्रामरों को मानक सिंटैक्स घटकों जैसे कि कीवर्ड पर कम ध्यान देने की अनुमति देती है। <b>पाठ</b> संपादकों में समर्थन gedit सिंटैक्स हाइलाइटिंग का समर्थन करता है कुछ <b>पाठ</b> संपादक रंगीन मार्कअप को एक ऐसे प्रारूप में निर्यात कर सकते हैं जो प्रिंटिंग या वर्ड-प्रोसेसिंग और अन्य प्रकार की <b>पाठ</b>-फॉरमैटिंग सॉफ़्टवेयर में आयात करने के लिए उपयुक्त है; उदाहरण के लिए, HTML, रंगीन LaTeX, PostScript या RTF संस्करण के रूप में इसका सिंटैक्स हाइलाइटिंग। कई सिंटैक्स हाइलाइटिंग पुस्तकालय या "एंजिन" हैं जो अन्य अनुप्रयोगों में उपयोग किए जा सकते हैं, लेकिन वे खुद में पूर्ण कार्यक्रम नहीं होते, जैसे कि PHP के लिए जनरिक सिंटैक्स हाइलाइटर (GeSHi) एक्सटेंशन। संपादकों के लिए जो एक से अधिक भाषाओं का समर्थन करते हैं, उपयोगकर्ता आमतौर पर <b>पाठ</b> की भाषा निर्दिष्ट कर सकता है, जैसे C, LaTeX, HTML, या <b>पाठ</b> संपादक फ़ाइल एक्सटेंशन या फ़ाइल की सामग्री को स्कैन करके इसे स्वचालित रूप से पहचान सकता है। यह स्वचालित भाषा पहचान संभावित समस्याएँ प्रस्तुत करती है। उदाहरण के लिए, एक उपयोगकर्ता एक दस्तावेज़ संपादित करना चाहता है जिसमें: एक से अधिक भाषा (जैसे जब एक HTML फ़ाइल संपादित करते समय जिसमें अंतर्निहित जावास्क्रिप्ट कोड होता है), एक ऐसी भाषा जिसे पहचाना नहीं गया है (जैसे जब एक अस्पष्ट या अपेक्षाकृत नई प्रोग्रामिंग भाषा के लिए स्रोत कोड संपादित करते समय), एक ऐसी भाषा जो फ़ाइल प्रकार से अलग है (जैसे जब एक एक्सटेंशन-रहित फ़ाइल में स्रोत कोड संपादित करते समय एक संपादक जो फ़ाइल एक्सटेंशन का उपयोग करके भाषा पहचानता है)। इन मामलों में, यह स्पष्ट नहीं है कि कौन सी भाषा का उपयोग करना है, और एक दस्तावेज़ को या तो हाइलाइट नहीं किया जा सकता है या गलत तरीके से हाइलाइट किया जा सकता है। सिंटैक्स तत्व अधिकांश संपादक जिनमें सिंटैक्स हाइलाइटिंग होती है, हाइलाइटिंग के लिए कई अलग-अलग उच्चारण उप-तत्वों में अलग-अलग रंग और <b>पाठ</b> शैलियाँ देने की अनुमति देते हैं। इनमें कीवर्ड, टिप्पणियाँ, नियंत्रण प्रवाह कथन, चर, और अन्य तत्व शामिल होते हैं। प्रोग्रामर अक्सर अपने सेटिंग्स को इस प्रयास में भारी अनुकूलित करते हैं कि बिना कोड को पढ़ने में कठिन बनाए जितना संभव हो उतना उपयोगी जानकारी दिखाई दे सके।

HTML स्ट्रिपिंग और सीमाएँ


यदि हमारी सूची में वाक्य पहचानने की क्षमता है, तो हम हाइलाइटिंग को इस तरह से कॉन्फ़िगर कर सकते हैं कि वो उस पाराग्राफ को न बनाएं जो वाक्यों के बीच क्रॉस करें:

SELECT HIGHLIGHT({},'content') AS h FROM highlight WHERE MATCH('html text')\G
*************************** 1. row ***************************
h:  ...  हाइलाइटिंग एक विशेषता है <b>पाठ</b> संपादकों की जो ... मार्कअप भाषाएँ, जैसे <b>HTML</b> यह विशेषता <b>पाठ</b> को प्रदर्शित ... <b>पाठ</b> के अर्थ को प्रभावित नहीं करता; यह केवल ... 1 पंक्ति में सेट (0.00 सेकंड)

इस उदाहरण में, हम पाराग्राफ ‘… मार्कअप भाषाएँ, जैसे HTML। यह विशेषता पाठ को प्रदर्शित …’ को देखते हैं जो वाक्यों के बीच क्रॉस करता है।
passage_boundary=sentence के साथ यह पाराग्राफ दो भागों में विभाजित होगा:

SELECT HIGHLIGHT({passage_boundary='sentence'},'content') AS h FROM highlight WHERE MATCH('html text')\G
*************************** 1. row ***************************

h:  ...  हाइलाइटिंग एक विशेषता है <b>टेक्स्ट</b> संपादकों की जो ... , या मार्कअप भाषाएं, जैसे कि <b>HTML</b>। ... यह विशेषता <b>टेक्स्ट</b> को, विशेष रूप से स्रोत कोड को, विभिन्न ... परिभाषा पर असर डालती है <b>टेक्स्ट</b> के खुद; यह केवल ... 1 पंक्ति में सेट (0.05 सेकंड)

आओ एक दस्तावेज़ जोड़ें जिसमें HTML सामग्री हो।

INSERT INTO highlight(title,content) values('html content','वाक्य रचना हाइलाइटिंग के विचार <a title="Structure editor" href="/wiki/Structure_editor">वाक्य-निर्देशित संपादकों</a> के विचारों के साथ काफी मेल खाते हैं। कोड के लिए पहले ऐसे संपादकों में से एक था विल्फ्रेड हैंसन्स 1969 का कोड संपादक, एमिली।<sup id="cite_ref-hansen_3-0" class="reference"><a href="#cite_note-hansen-3">[3]</a></sup><sup id="cite_ref-4" class="reference"><a href="#cite_note-4">[4]</a></sup> इसने उन्नत भाषा-स्वतंत्र <a title="Autocomplete" href="/wiki/Autocomplete">कोड पूर्णता</a> की सुविधाएं प्रदान की, और आधुनिक संपादकों के विपरीत जिनमें वाक्य रचना हाइलाइटिंग होती है, वास्तव में इसमें वाक्य रचनात्मक रूप से गलत कार्यक्रम बनाने की अनुमति नहीं दी गई।');

डिफ़ॉल्ट रूप से, हाइलाइटिंग HTML सामग्री को अनुक्रमण सेटिंग के आधार पर प्रोसेस करेगी। यदि अनुक्रमण में HTML हटाना सक्षम है, तो HIGHLIGHT() का परिणाम भी HTML हटाया जाएगा।


SELECT HIGHLIGHT({},'content') AS h FROM highlight WHERE MATCH('code class')\G

*************************** 1. पंक्ति ***************************

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

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