Interogări de căutare de bază în Elasticsearch: Un ghid cuprinzător

Interogare bazată pe cuvinte cheie(Match Query)

Interogarea Potrivire este utilizată pentru a căuta documente care conțin anumite cuvinte cheie. Va returna documente care au cel puțin un cuvânt cheie corespunzător.

Exemplu: găsiți produse cu numele care conține cuvântul cheie laptop  în products Index.

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

 

Trebuie să conțină toate cuvintele cheie(Match Phrase Query)

Interogarea Match Phrase necesită ca toate cuvintele cheie din interogare să apară consecutiv și în ordinea corectă în textul documentului.

Exemplu: găsiți produse cu descrierea care conține expresia HP laptop.

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

 

Trebuie să conțină prefixul întregii fraze(Match Phrase Prefix Query)

Interogarea Match Phrase Prefix este similară cu Match Phrase, dar permite o potrivire parțială a ultimului cuvânt cheie.

Exemplu: găsiți produse cu descrierea care începe cu laptop.

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

 

Interogare bazată pe termeni(Interogare pe termen)

Interogarea Termen este utilizată pentru a căuta documente cu un câmp având o valoare exactă așa cum este specificată.

Exemplu: găsiți produse cu category câmpul având valoarea laptop.

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

 

Interogare bazată pe interval(Range Query)

Interogarea Interval ajută la căutarea documentelor cu o valoare de câmp într-un interval specificat.

Exemplu: Găsiți produse cu prețuri între 500 și 1000.

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

 

Interogare la nivel de termen

Interogările la nivel de termen permit căutarea documentelor pe baza unor condiții specifice, cum ar fi interogări exacte, prefix, interval, wildcard și fuzzy.

Exemplu: găsiți produse cu numele care începe cu laptop și prețuri între 500 și 1000.

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

 

Full-Text Interogare

Full-Text interogările permit căutarea câmpurilor de text folosind algoritmi de analiză a textului pentru a găsi cuvinte sau sinonime similare.

Exemplu: găsiți produse cu descrieri care conțin fie computer  sau laptop.

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

 

Interogare booleană

Boolean interogările permit combinarea mai multor subinterogări cu diverse condiții de căutare, cum ar fi trebuie să conțină toate, trebuie să conțină cel puțin una sau nu trebuie să conțină, pentru a obține rezultate precise de căutare.

Exemplu: Găsiți produse cu category ființă laptop  și prețuri între 500 și 1000.

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

 

Acestea sunt interogările de căutare de bază în Elasticsearch, împreună cu exemple ilustrate pentru fiecare tip de interogare. Când utilizați Elasticsearch, puteți combina aceste interogări pentru a căuta date în mod flexibil și eficient.