मेरे पहले के प्रश्न ElasticSearch Query के संबंध में जहां मैपिंग और दस्तावेज़ नमूना दिया गया है मैं इस MySql क्वेरी को Elasticsearch में बदलना चाहता हूं। यहाँ mysql क्वेरी है

Select * from us_data where phone!=0 AND city_code IN ('Homestead','Hialeah','Key Biscayne','Miami Beach','Miami','North Miami Beach','Ochopee','Opa Locka') AND state_code='FL' AND (name like '%appliance%' or city_code like '%appliance%' or address like '%appliance%' or phone like '%appliance%')

आपकी मदद के लिए तत्पर हैं

1
kool_Coder 20 मार्च 2020, 14:38

1 उत्तर

सबसे बढ़िया उत्तर

नीचे दी गई क्वेरी आपकी मदद करनी चाहिए। ध्यान दें कि आपके मानचित्रण में आपके पास contact_no है जबकि उपरोक्त क्वेरी में आपने phone का उल्लेख किया है।

फिर भी, मैंने contact_no का उपयोग किया है ताकि यह मानचित्रण के साथ चिपक जाए।

POST <your_index_name>/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "terms": {
            "city_code.keyword": [
              "Homestead",
              "Hialeah",
              "Key Biscayne",
              "Miami Beach",
              "Miami",
              "North Miami Beach",
              "Ochopee",
              "Opa Locka"
            ]
          }
        },
        {
          "term": {
            "state_code.keyword": "FL"
          }
        },
        {
          "multi_match": {
            "query": "*appliance*",
            "fields": ["name","city_code","address","contact_no"]
          }
        }
      ],
      "must_not": [
        {
          "term": {
            "contact_no.keyword": "0"
          }
        }
      ]
    }
  }
}

मैंने शर्त क्वेरी की विविधताओं का उपयोग किया है , टर्म क्वेरी< /a> और Multi- मैच क्वेरी।

ध्यान दें कि मैंने keyword फ़ील्ड पर टर्म क्वेरी/शर्त क्वेरी का उपयोग किया है क्योंकि ऐसा प्रतीत होता है कि आप एक सटीक मिलान चाहते हैं, जबकि मैंने text पर multi-match का उपयोग किया है। खेत।

मुझे बताएं क्या इससे मदद मिलती है!

1
Opster ES Ninja - Kamal 21 मार्च 2020, 01:30