कई क्षेत्रों पर एंडेका खोज क्वेरी

एकाधिक फ़ील्ड के संयोजन पर एंडेका क्वेरी कैसे बनाएं [जैसे कि एसक्यूएल क्वेरी में क्लॉज]। मान लें कि हमारे पास अनुक्रमित तीन फ़ील्ड हैं -

  1. empId
  2. empName
  3. empGender

अब, मुझे एक प्रश्न की आवश्यकता है जैसे "empName की तरह% s 'और empGender = male"

धन्यवाद।

2

2 उत्तर

पहले तो,

उन्नत विकास मार्गदर्शिका में चेकआउट <कोड> रिकॉर्ड फ़िल्टर

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

आपका <कोड> रिकॉर्ड फ़िल्टर तब अनुसरण कर सकता है:

Nr=AND(empGender:male)

आप इस क्षेत्र को खोजने के लिए वाइल्डकार्ड खोज (डेवलपर स्टूडियो में इसे कॉन्फ़िगर करें) के लिए अपने empName फ़ील्ड को सक्षम करने के लिए फ़ील्ड निर्दिष्ट करने के लिए फ़ील्ड निर्दिष्ट करने के लिए Ntk पैरामीटर का उपयोग कर सकते हैं।

Ntk=empName&Ntt=s*

इसलिए मान लें कि आपकी गुणों को सही तरीके से कॉन्फ़िगर किया गया है, ऊपर दिया गया आपका उदाहरण शायद निम्नानुसार दिखने वाला होगा:

Nr=AND(empGender:male)&Ntk=empName&Ntt=s*

To take this one step further, you can specify Search Filters (ie. Ntk + Ntt parameters) together. I haven't tried this for wildcards so you'll need to confirm that yourself but to combine Search Filters you delimit them with |

Ntk=empName|empId&Ntt=s*|1234*

मेरा सुझाव है कि आप अपने अपेक्षित परिणामों को प्राप्त करने की पुष्टि करने के लिए संदर्भ एप्लिकेशन में मैन्युअल रूप से प्रश्नों का निर्माण करें और फिर इसे अपने एप्लिकेशन में कोड करना शुरू करें।

4
जोड़ा
धन्यवाद। यह काम कर रहा है। असल में हमारे पास 20 फ़ील्ड के साथ एक खोज फ़ॉर्म है और उपयोगकर्ता कई संयोजनों (जैसे डेटा रेंज और एमएमपी स्थिति) पर खोज कर सकता है। इसके लिए मैं एक सेवा कक्षा तैयार कर रहा हूं जो उपयोगकर्ता चयन के आधार पर गतिशील क्वेरी उत्पन्न करेगा।
जोड़ा लेखक Saurabh, स्रोत
इसके अलावा, मुझे निम्नलिखित क्वेरी करने का कोई तरीका नहीं मिला - "जहां empId में ('1', '2', '3')"। कोई उपाय?
जोड़ा लेखक Saurabh, स्रोत
एक रास्ता मिला लेकिन यह अन्य संयोजन के साथ काम नहीं कर रहा है - & Ntk = empId & Ntt = 1 + 2 + 3 और Ntx = mode + matchany (कामकाजी); & Ntk = empStatus | empId & ntt = 0 | 1 + 2 + 3 और एनटीएक्स = मोड + मिलनी (काम नहीं कर रहा है)
जोड़ा लेखक Saurabh, स्रोत
तकनीकी रूप से यह एक अलग सवाल है। आपको रिकॉर्ड फ़िल्टर (एनआर) का उपयोग करने की आवश्यकता है, न कि खोज फ़िल्टर । तो आपकी क्वेरी को इस तरह कुछ दिखना चाहिए: एनआर = या (empId: 1, empId: 2, empId: 3) । मान लें कि आपने empId संपत्ति के लिए रिकॉर्ड फ़िल्टर सक्षम किया है (या यह एक आयाम है)
जोड़ा लेखक radimpe, स्रोत

radimbe, इस उपयोग के मामले के लिए रिकॉर्ड फिल्टर के साथ समस्या यह है कि उन्हें सटीक होना चाहिए। इसका मतलब है कि आपको पेलिंग सुधार, थिसॉरस विस्तार, केस असंवेदनशीलता या स्टेमिंग नहीं मिलती है। यह बहुत ही असंभव है कि उपयोगकर्ता इस तरह की सटीक जानकारी इनपुट करेगा।

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

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

0
जोड़ा
आप सही हैं, हालांकि समाधान प्रदान किए गए विशिष्ट उपयोग मामले का उत्तर देते हैं। जब मूल प्रश्न में बताए गए आंकड़ों की बात आती है, तो वर्तनी सुधार, स्टेमिंग या एंडेका द्वारा प्रदान की जाने वाली अन्य सुविधाओं का उपयोग करने की संभावित हूड काफी सीमित है। इस तथ्य के साथ संयुक्त है कि इनमें से कोई भी विशेषता जंगली-कार्ड क्वेरी के साथ उपयोग योग्य नहीं है, अगर आपको एंडेका का उपयोग करने की आवश्यकता है, तो फ़िल्टर इस तक पहुंचने का सबसे अच्छा तरीका है। उदाहरण के लिए, किसी भाग या कर्मचारी संख्या की तरह कुछ खोजना आम तौर पर 'प्रारंभ से' प्रकार की क्वेरी है, इसलिए आपको पहले से ही वाइल्डकार्ड का उपयोग करना होग
जोड़ा लेखक radimpe, स्रोत