2012-02-01 15 views
5

मैं उप-ऑब्जेक्ट फ़ील्ड पर ElasticSearch में फ़िल्टर की गई खोज कैसे करूं?लोचदार खोज उप-ऑब्जेक्ट फ़ील्ड के लिए फ़िल्टर फ़िल्टर

{_id: 000, merchant: "merchant_1", email: "[email protected]"}

मेरे खोज क्वेरी::

"query": { 
    "filtered": { 
     "filter": { "term": { "data.merchant": "merchant_1"} }, 
     "query": { 
      "query_string": {"query": "hello"} } 
     } 
    } 
} 

नहीं करता है 'उदाहरण के लिए, मेरे दस्तावेज़ एक id, और एक data क्षेत्र है जो कैसे डेटा मेरी डेटाबेस में जमा हो गया था की एक JSON सारणी है कुछ भी वापस नहीं, फिर भी क्वेरी_स्ट्रिंग hello के साथ एक प्रश्न कर सही पंक्तियां देता है। "data.merchant" =>"merchant" बदलना कुछ भी नहीं बदलता है।

क्या मैं यहां कुछ गलत कर रहा हूं?

अद्यतन: मैं बस एक बूलियन क्वेरी का उपयोग कर समाप्त हुआ, जो काम करता था।

उत्तर

0
"query": { 
    "filtered": { 
     "filter": { "term": { "data.merchant": "merchant_1"} }, 
     "query": { 
      "query_string": { 
       "default_field": "_all", 
       "query": "hello" 
      } 
     } 
    } 
} 

यह आपके मामले के लिए काम करना चाहिए।

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