2011-10-06 11 views
8

मेरे लिए यह हल करने का अंतिम विकल्प स्टैक ओवरव्लो से पूछना था।अपाचे सोलर क्वेरी में कैसे करें या शून्य मान?

मैं दस्तावेजों अपने क्षेत्रों में से एक या उस पर एक विशिष्ट मूल्य है कि एक मूल्य नहीं है पाने के लिए एक Solr क्वेरी बनाने के लिए कोशिश कर रहा हूँ ...

theorically, इस क्वेरी काम किया जाना चाहिए था। > परिणाम गिनती: 15,383 // जॉन्स

क्वेरी: (नाम: {* के लिए *}) -

क्वेरी:: (जॉन नाम)

यहाँ कुछ जानकारी है - -> परिणाम गिनती: 61,013 // लोगों को एक नाम

क्वेरी है: - (नाम: {* के लिए *}) -> परिणाम गिनती: 216,888 // लोग है कि एक नाम

की जरूरत नहीं है

अब, जब मैं या ऑपरेटर के साथ एक ही क्वेरी में पहली और तीसरी क्वेरी का उपयोग करता हूं, तो मुझे उम्मीद है कि (216888 + 15383) परिणाम प्राप्त होंगे। लेकिन SOLR देता 15,383 परिणामों के लिए, बस तीसरे क्वेरी के प्रभाव पर ध्यान नहीं देता:

क्वेरी: + ((नाम: जॉन) (- (नाम: {* के लिए *}))) // यह है क्वेरी मैं था उपयोग किया गया।

क्या यह सोलर का एक बग है या क्या मैं क्वेरी में गलत कर रहा हूं? दो क्वेरी परिणामों को विलय करना एक अतिरिक्त समाधान है, लेकिन अगर मैं इसे सरल प्रश्न के साथ कर सकता हूं तो मैं अतिरिक्त कोड कार्यान्वयन नहीं करना चाहता हूं।

किसी भी मदद की सराहना की जाएगी।

q=(name:john OR -(name:[* TO *])) 

उत्तर

16

(-name:[* TO *] AND *:*) OR name:john

+0

मेरे लिए काम किया !! – Raj

+0

यह वही है जो मुझे चाहिए था। धन्यवाद। क्या आप इस उदाहरण में 'AND *: * 'क्या करते हैं, इसकी व्याख्या करने में सक्षम होंगे? मैं देखता हूं कि अगर मैं उस भाग को छोड़ देता हूं तो मेरी खोज काम नहीं करती है, मुझे यकीन नहीं है कि क्यों। –

+0

'*: *' सभी पंक्तियों का मतलब है। '*: * -name: *' का अर्थ किसी भी नाम के बिना सभी पंक्तियों का है। 'नाम: जॉन या (*: * -name: *) 'एसक्यूएल में' name = 'जॉन' या नाम IS NULL 'के रूप में अनुवादित किया जा सकता है – Semra

-1

नीचे दिए गए क्वेरी प्रयास करें।

&fq=name:john OR !name:['' TO *] 
+0

फिर भी वही। 15383 परिणाम। – emregecer

+2

मुझे इस [लिंक] में समाधान मिला (http://stackoverflow.com/questions/1343794/searching-for-date-range-or-null-no-field-in-solr) – emregecer

+1

- (- (नाम: जॉन) + (नाम: {* TO *})) – emregecer

1

तुम भी इसे इस तरह उपयोग कर सकते हैं -

संबंधित मुद्दे