Kulcsszó alapú lekérdezés(Match Query)
Az Egyezés lekérdezés meghatározott kulcsszavakat tartalmazó dokumentumok keresésére szolgál. Olyan dokumentumokat ad vissza, amelyek legalább egy megfelelő kulcsszóval rendelkeznek.
Példa: Keressen olyan termékeket, amelyek neve tartalmazza a kulcsszót laptop
a products Index
.
GET /products/_search
{
"query": {
"match": {
"name": "laptop"
}
}
}
Minden kulcsszót tartalmaznia kell(Match Phrase Query)
A Kifejezés egyezése lekérdezéshez a lekérdezésben szereplő összes kulcsszónak egymás után és a megfelelő sorrendben kell megjelennie a dokumentum szövegében.
Példa: Keressen olyan termékeket, amelyek leírása tartalmazza a kifejezést HP laptop
.
GET /products/_search
{
"query": {
"match_phrase": {
"description": "HP laptop"
}
}
}
Tartalmaznia kell a teljes kifejezés előtagot(Match Phrase Prefix Query)
Az Match Phrase Prefix lekérdezés hasonló az Match Phrase lekérdezéshez, de lehetővé teszi az utolsó kulcsszó részleges egyezését.
Példa: Keressen olyan termékeket, amelyek leírása a következővel kezdődik laptop
.
GET /products/_search
{
"query": {
"match_phrase_prefix": {
"description": "laptop"
}
}
}
Kifejezés alapú lekérdezés(kifejezés lekérdezés)
A kifejezés lekérdezés arra szolgál, hogy olyan dokumentumokat keressen, amelyeknek a mezője a megadott pontos értékű.
Példa: Keressen olyan termékeket, amelyeknél a category
mező értéke laptop
.
GET /products/_search
{
"query": {
"term": {
"category": "laptop"
}
}
}
Tartomány alapú lekérdezés(Range Query)
A Tartomány lekérdezés segít olyan dokumentumok keresésében, amelyek mezőértéke egy megadott tartományon belül van.
Példa: Keressen olyan termékeket, amelyek ára 500 és 1000 között van.
GET /products/_search
{
"query": {
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
}
Kifejezés szintű lekérdezés
A kifejezésszintű lekérdezések lehetővé teszik a dokumentumok keresését meghatározott feltételek, például pontos, előtag, tartomány, helyettesítő karakter és fuzzy lekérdezések alapján.
Példa: Keressen olyan termékeket, amelyeknek a neve laptop
500 és 1000 között van.
GET /products/_search
{
"query": {
"bool": {
"must": [
{
"prefix": {
"name": "laptop"
}
},
{
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
]
}
}
}
Full-Text Lekérdezés
Full-Text A lekérdezések lehetővé teszik a szövegmezőkben történő keresést szövegelemző algoritmusok segítségével hasonló szavak vagy szinonimák megtalálásához.
Példa: Keressen olyan termékeket, amelyek leírása tartalmazza a computer
vagy laptop
.
GET /products/_search
{
"query": {
"match": {
"description": "computer laptop"
}
}
}
Logikai lekérdezés
Boolean
A lekérdezések lehetővé teszik több allekérdezés kombinálását különböző keresési feltételekkel, például mindent tartalmaznia kell, legalább egyet tartalmaznia kell, vagy nem tartalmazhat, a pontos keresési eredmények elérése érdekében.
Példa: Keressen olyan termékeket, amelyek category
lénye laptop
és ára 500 és 1000 között van.
GET /products/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"category": "laptop"
}
},
{
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
]
}
}
}
Ezek az alapvető keresési lekérdezések a nyelven Elasticsearch, az egyes lekérdezéstípusokhoz illusztrált példákkal együtt. A használatakor Elasticsearch ezeket a lekérdezéseket kombinálhatja az adatok rugalmas és hatékony keresése érdekében.