میں بنیادی تلاش کے سوالات Elasticsearch: ایک جامع گائیڈ

مطلوبہ الفاظ پر مبنی استفسار(Match Query)

میچ استفسار کا استعمال مخصوص مطلوبہ الفاظ پر مشتمل دستاویزات کو تلاش کرنے کے لیے کیا جاتا ہے۔ یہ وہ دستاویزات واپس کرے گا جن میں کم از کم ایک متعلقہ مطلوبہ لفظ ہے۔

laptop  مثال: میں مطلوبہ الفاظ پر مشتمل نام کے ساتھ مصنوعات تلاش کریں products Index ۔

GET /products/_search  
{  
  "query": {  
    "match": {  
      "name": "laptop"  
    }  
  }  
}  

 

تمام مطلوبہ الفاظ پر مشتمل ہونا چاہیے۔(Match Phrase Query)

میچ فریز کے استفسار کے لیے استفسار کے تمام مطلوبہ الفاظ کو دستاویز کے متن میں مسلسل اور درست ترتیب میں ظاہر کرنے کی ضرورت ہے۔

مثال: جملہ پر مشتمل تفصیل کے ساتھ مصنوعات تلاش کریں HP laptop ۔

GET /products/_search  
{  
  "query": {  
    "match_phrase": {  
      "description": "HP laptop"  
    }  
  }  
}  

 

مکمل جملہ سابقہ ​​پر مشتمل ہونا چاہیے۔(Match Phrase Prefix Query)

میچ فریز پریفکس استفسار میچ فریز سے ملتا جلتا ہے، لیکن یہ آخری مطلوبہ لفظ کے جزوی مماثلت کی اجازت دیتا ہے۔

مثال: سے شروع ہونے والی تفصیل کے ساتھ مصنوعات تلاش کریں laptop ۔

GET /products/_search  
{  
  "query": {  
    "match_phrase_prefix": {  
      "description": "laptop"  
    }  
  }  
}  

 

اصطلاح پر مبنی سوال(اصطلاحی سوال)

اصطلاح کے استفسار کا استعمال کسی فیلڈ کے ساتھ دستاویزات کو تلاش کرنے کے لیے کیا جاتا ہے جس کی قطعی قدر بیان کی گئی ہے۔

مثال: category فیلڈ کے ساتھ پروڈکٹس تلاش کریں جس کی قدر ہو laptop ۔

GET /products/_search  
{  
  "query": {  
    "term": {  
      "category": "laptop"  
    }  
  }  
}  

 

رینج پر مبنی استفسار(Range Query)

رینج کا سوال ایک مخصوص رینج کے اندر فیلڈ ویلیو کے ساتھ دستاویزات کی تلاش میں مدد کرتا ہے۔

مثال: 500 اور 1000 کے درمیان قیمتوں والی مصنوعات تلاش کریں۔

GET /products/_search  
{  
  "query": {  
    "range": {  
      "price": {  
        "gte": 500,  
        "lte": 1000  
      }  
    }  
  }  
}  

 

ٹرم لیول کا سوال

ٹرم لیول کے سوالات مخصوص شرائط جیسے Exact، Prefix، Range، Wildcard، اور Fuzzy سوالات کی بنیاد پر دستاویزات کی تلاش کی اجازت دیتے ہیں۔

laptop مثال: 500 سے 1000 کے درمیان شروع ہونے والے نام اور قیمتوں کے ساتھ مصنوعات تلاش کریں ۔

GET /products/_search  
{  
  "query": {  
    "bool": {  
      "must": [  
        {  
          "prefix": {  
            "name": "laptop"  
          }  
        },  
        {  
          "range": {  
            "price": {  
              "gte": 500,  
              "lte": 1000  
            }  
          }  
        }  
      ]  
    }  
  }  
}  

 

Full-Text استفسار

Full-Text سوالات اسی طرح کے الفاظ یا مترادفات تلاش کرنے کے لیے متن کے تجزیہ کے الگورتھم کا استعمال کرتے ہوئے ٹیکسٹ فیلڈز کو تلاش کرنے کی اجازت دیتے ہیں۔

مثال: وضاحت کے ساتھ مصنوعات تلاش کریں جس میں یا computer  تو laptop ۔

GET /products/_search  
{  
  "query": {  
    "match": {  
      "description": "computer laptop"  
    }  
  }  
}  

 

بولین استفسار

Boolean سوالات مختلف تلاش کے حالات کے ساتھ متعدد ذیلی سوالات کو یکجا کرنے کی اجازت دیتے ہیں، جیسے کہ سب پر مشتمل ہونا چاہیے، کم از کم ایک پر مشتمل ہونا چاہیے، یا درست تلاش کے نتائج حاصل کرنے کے لیے نہیں ہونا چاہیے۔

category مثال: 500 اور 1000 کے درمیان ہونے والی مصنوعات laptop  اور قیمتیں تلاش کریں۔

GET /products/_search  
{  
  "query": {  
    "bool": {  
      "must": [  
        {  
          "term": {  
            "category": "laptop"  
          }  
        },  
        {  
          "range": {  
            "price": {  
              "gte": 500,  
              "lte": 1000  
            }  
          }  
        }  
      ]  
    }  
  }  
}  

 

یہ میں بنیادی تلاش کے سوالات ہیں Elasticsearch ، ہر سوال کی قسم کے لیے واضح مثالوں کے ساتھ۔ استعمال کرتے وقت Elasticsearch ، آپ ڈیٹا کو لچکدار اور مؤثر طریقے سے تلاش کرنے کے لیے ان سوالات کو یکجا کر سکتے ہیں۔