नियमित अभिव्यक्ति नीचे दिखाए गए पैटर्न मिलान वाक्यविन्यास के लिए अनुमति देता है। मैं एक शक्तिशाली खोज उपकरण को लागू करने की कोशिश कर रहा हूं जो जितना संभव हो उतना लागू करता है। मुझे बताया गया है कि नौकरी के लिए edismax सबसे लचीला उपकरण है। नीचे दिए गए पैटर्न मिलान अभिव्यक्तियों में से कौन सा संस्करण edismax के साथ पूरा किया जा सकता है? क्या मैं edismax से बेहतर कर सकता हूँ? क्या आप सुझाव दे सकते हैं कि इस कार्यक्षमता को प्राप्त करने के लिए मैं कौन से फ़िल्टर और पार्सर पैच का उपयोग कर सकता हूं? क्या मैं सपना देख रहा हूं अगर मुझे लगता है कि सोलर इस प्रकार की खोजों के स्वीकार्य प्रदर्शन (यानी सर्वर-साइड प्रसंस्करण समय) प्राप्त कर सकता है?सोलर एडिस्मैक्स द्वारा नियमित रूप से अभिव्यक्ति सुविधाओं का समर्थन किया जाता है?
नियमित अभिव्यक्ति वाक्यविन्यास & mysql
- ^मैच स्ट्रिंग की शुरुआत से उदाहरण हैं।
'fofo' REGEXP '^fo' => true
- $ स्ट्रिंग का मिलान अंत।
'fo\no' REGEXP '^fo\no$' => true
- * 0-असीमित वाइल्डकार्ड।
'Baaaan' REGEXP 'Ba*n' => true
- ? 0-1 वाइल्डकार्ड।
'Baan' REGEXP '^Ba?n => false'
- + 1-असीमित वाइल्डकार्ड।
'Bn' REGEXP 'Ba+n' => false
- | या।
'pi' REGEXP 'pi|apa' => true
- () * अनुक्रम मिलान।
'pipi' REGEXP '^(pi)*$' => true
- [एक-dX], [^ एक-dX] चरित्र रेंज/सेट
'aXbc' REGEXP '[a-dXYZ]' => true
- {n} या {मी, n} प्रमुखता अंकन
'abcde' REGEXP 'a[bcd]{3}e' => true
- [: character_class:]
'justalnums' REGEXP '[[:alnum:]]+' => true
मैंने थोड़ा आगे खोला। एक [पृष्ठ है जो समर्थित वाक्यविन्यास का वर्णन करता है] (https://builds.apache.org/job/Lucene-trunk/javadoc/core/org/apache/lucene/util/automaton/RegExp.html)। रेगेक्स इंजन जावा के बाद नहीं है, लेकिन एक lusene में org.apache.lucene.util.automaton पैकेज में कार्यान्वित किया गया है। [RegexpQuery] (https://builds.apache.org/job/Lucene-trunk/javadoc/core/org/apache/lucene/search/RegexpQuery.html) के लिए दस्तावेज़ भी देखें। –
बस स्ट्रिंग फ़ील्ड पर सोलर 4.0 में '\ d {4}' की कोशिश की। यह काम नहीं करता। ऐसा लगता है कि हम केवल '[0-9] {4} 'का उपयोग कर सकते हैं। हालांकि मुझे लगता है कि^की आवश्यकता नहीं है, क्योंकि किसी भी क्वेरी जैसे '/ [0-9] {5} /' वास्तव में पर्ल-संगत रेगेक्स '/^[0-9] {5} $ /' यानी उपयोग नहीं कर रही है '। *' उपसर्ग के रूप में आप पहले चार से मैच को मजबूर कर रहे हैं। – arun
@RonaldWood आपके द्वारा पोस्ट किए गए दोनों लिंक अब मर चुके हैं। – BlackVegetable