Avainsanapohjainen kysely(Match Query)
Vastaa-kyselyä käytetään tiettyjä avainsanoja sisältävien asiakirjojen etsimiseen. Se palauttaa asiakirjat, joissa on vähintään yksi vastaava avainsana.
Esimerkki: Etsi tuotteita, joiden nimi sisältää laptop
avainsanan products Index
.
GET /products/_search
{
"query": {
"match": {
"name": "laptop"
}
}
}
Täytyy sisältää kaikki avainsanat(Match Phrase Query)
Match Phrase -kysely edellyttää, että kaikki kyselyn avainsanat näkyvät peräkkäin ja oikeassa järjestyksessä asiakirjan tekstissä.
Esimerkki: Etsi tuotteita, joiden kuvaus sisältää lauseen HP laptop
.
GET /products/_search
{
"query": {
"match_phrase": {
"description": "HP laptop"
}
}
}
Täytyy sisältää koko lauseen etuliite(Match Phrase Prefix Query)
Match Phrase -etuliitekysely on samanlainen kuin Match Phrase -kysely, mutta se sallii viimeisen avainsanan osittaisen vastaavuuden.
Esimerkki: Etsi tuotteita, joiden kuvaus alkaa laptop
.
GET /products/_search
{
"query": {
"match_phrase_prefix": {
"description": "laptop"
}
}
}
Termipohjainen kysely(termikysely)
Termikyselyä käytetään sellaisten asiakirjojen etsimiseen, joiden kentällä on määritetty tarkka arvo.
Esimerkki: Etsi tuotteita, joiden category
kentän arvo on laptop
.
GET /products/_search
{
"query": {
"term": {
"category": "laptop"
}
}
}
Aluepohjainen kysely(Range Query)
Aluekysely auttaa etsimään asiakirjoja, joiden kentän arvo on tietyllä alueella.
Esimerkki: Etsi tuotteita, joiden hinnat ovat 500–1000.
GET /products/_search
{
"query": {
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
}
Termitason kysely
Termitason kyselyt mahdollistavat asiakirjojen etsimisen tiettyjen ehtojen perusteella, kuten täsmälliset, etuliite-, alue-, jokeri- ja sumeat kyselyt.
Esimerkki: Etsi tuotteita, joiden nimi alkaa laptop
ja joiden hinnat ovat 500–1000.
GET /products/_search
{
"query": {
"bool": {
"must": [
{
"prefix": {
"name": "laptop"
}
},
{
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
]
}
}
}
Full-Text Kysely
Full-Text kyselyt mahdollistavat haun tekstikentistä käyttämällä tekstianalyysialgoritmeja samankaltaisten sanojen tai synonyymien löytämiseksi.
Esimerkki: Etsi tuotteita, joiden kuvaukset sisältävät joko computer
tai laptop
.
GET /products/_search
{
"query": {
"match": {
"description": "computer laptop"
}
}
}
Boolen kysely
Boolean
kyselyt mahdollistavat useiden alikyselyjen yhdistämisen erilaisilla hakuehdoilla, kuten pitää sisältää kaikki, täytyy sisältää vähintään yksi tai ei saa sisältää tarkkojen hakutulosten saavuttamiseksi.
Esimerkki: Etsi tuotteita, joiden category
olemus laptop
ja hinnat ovat välillä 500–1000.
GET /products/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"category": "laptop"
}
},
{
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
]
}
}
}
Nämä ovat perushakukyselyitä kohteessa Elasticsearch, sekä kuvitetut esimerkit jokaiselle kyselytyypille. Kun käytät Elasticsearch, voit yhdistää nämä kyselyt etsiäksesi tietoja joustavasti ja tehokkaasti.