मैं वसंत ढांचे के साथ लोचदार खोज में गतिशील रूप से एकाधिक बूलियन ऑपरेशन के लिए क्वेरी उत्पन्न करना चाहता हूं।
इलास्टिक्स खोज में मेरा डेटा जैसा है
{
"masterID" : "<id>"
"processedData": [
{
"string_value": "22",
"key": "a"
},
{
"string_value": "abc",
"key": "s"
},
{
"string_value": "xyz",
"key": "n"
}
]
}
मैं इस बूलियन ऑपरेशन के लिए क्वेरी निष्पादित करना चाहता हूं ((एन = xyz) && (एस = एबीसी))
1 उत्तर
ऐरे इनर ऑब्जेक्ट को क्वेरी करने में सक्षम होने के लिए आपको अपने प्रोसेस्डडेटा को नेस्टेड प्रकार के रूप में मैप करना चाहिए, ऑब्जेक्ट्स के एरे काम नहीं करते हैं जैसा कि आप उम्मीद करेंगे क्योंकि आप एरे में अन्य ऑब्जेक्ट्स से स्वतंत्र रूप से प्रत्येक ऑब्जेक्ट को क्वेरी नहीं कर सकते। यदि आपको ऐसा करने में सक्षम होने की आवश्यकता है तो आपको ऑब्जेक्ट डेटा प्रकार के बजाय नेस्टेड डेटा प्रकार का उपयोग करना चाहिए। अपनी मैपिंग बदलने के बाद आप इस तरह की बूल क्वेरी के साथ नेस्टेड क्वेरी बना सकते हैं:
{
"query": {
"nested": {
"path": "processedData",
"query": {
"bool": {
"must": [
{
"match": {
"key": "n"
}
},
{
"match": {
"string_value": "xyz"
}
}
]
}
}
}
}
}
अधिक जानकारी के लिए आप यहां देख सकते हैं: https://www। लोचदार.co/guide/hi/elasticsearch/reference/master/array.html
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।