Pyetjet bazë të kërkimit në Elasticsearch: Një udhëzues gjithëpërfshirës

Pyetje e bazuar në fjalë kyçe(Match Query)

Pyetja Match përdoret për të kërkuar dokumente që përmbajnë fjalë kyçe specifike. Do të kthejë dokumente që kanë të paktën një fjalë kyçe përkatëse.

Shembull: Gjeni produkte me emrin që përmban fjalën kyçe laptop  në products Index.

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

 

Duhet të përmbajë të gjitha fjalët kyçe(Match Phrase Query)

Pyetja e frazës së përputhjes kërkon që të gjitha fjalët kyçe në pyetje të shfaqen në mënyrë të njëpasnjëshme dhe në rendin e duhur brenda tekstit të dokumentit.

Shembull: Gjeni produkte me përshkrimin që përmban frazën HP laptop.

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

 

Duhet të përmbajë prefiksin e plotë të frazës(Match Phrase Prefix Query)

Pyetja e prefiksit të frazës së përputhjes është e ngjashme me frazën e përputhjes, por lejon një përputhje të pjesshme të fjalës kyçe të fundit.

Shembull: Gjeni produkte me përshkrimin duke filluar me laptop.

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

 

Pyetje e bazuar në terma(Kërkesa e termave)

Pyetja e termit përdoret për të kërkuar dokumente me një fushë që ka një vlerë të saktë siç specifikohet.

Shembull: Gjeni produkte me category fushën që ka vlerën laptop.

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

 

Pyetje e bazuar në diapazon(Range Query)

Pyetja Range ndihmon në kërkimin e dokumenteve me një vlerë fushe brenda një diapazoni të caktuar.

Shembull: Gjeni produkte me çmime midis 500 dhe 1000.

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

 

Kërkesa e nivelit të termit

Pyetjet e nivelit të termit lejojnë kërkimin e dokumenteve bazuar në kushte specifike si pyetjet Exact, Prefix, Range, Wildcard dhe Fuzzy.

Shembull: Gjeni produkte me emrin që fillon me laptop dhe çmimet midis 500 dhe 1000.

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

 

Full-Text Pyetje

Full-Text pyetjet lejojnë kërkimin e fushave të tekstit duke përdorur algoritme të analizës së tekstit për të gjetur fjalë ose sinonime të ngjashme.

Shembull: Gjeni produkte me përshkrime që përmbajnë ose computer  ose laptop.

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

 

Pyetje Boolean

Boolean Pyetjet lejojnë kombinimin e shumë nënpyetjeve me kushte të ndryshme kërkimi, të tilla si duhet të përmbajë të gjitha, duhet të përmbajë të paktën një ose nuk duhet të përmbajë, për të arritur rezultate të sakta kërkimi.

Shembull: Gjeni produkte me category qenie laptop  dhe çmime midis 500 dhe 1000.

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

 

Këto janë pyetjet bazë të kërkimit në Elasticsearch, së bashku me shembuj të ilustruar për çdo lloj pyetjeje. Kur përdorni Elasticsearch, ju mund t'i kombinoni këto pyetje për të kërkuar të dhëna në mënyrë fleksibël dhe efikase.