PUT ders/_bulk
{"index":{"_id":1}}
{"ders_adi":"MsSql","ders_suresi":"60","sinif":"A1","tipi":"Database","eğitmen":"Kaan","mevcut":"40"}
{"index":{"_id":2}}
{"ders_adi":"Css","ders_suresi":"45","sinif":"A2","tipi":"Frontend","eğitmen":"Kaan","mevcut":"12"}
{"index":{"_id":3}}
{"ders_adi":"Html","ders_suresi":"45","sinif":"A2","tipi":"Frontend","eğitmen":"alican","mevcut":"27"}
{"index":{"_id":4}}
{"ders_adi":"Java","ders_suresi":"25","sinif":"B1","tipi":"Backend","eğitmen":"karam","mevcut":"21"}
{"index":{"_id":5}}
{"ders_adi":"C sharp","ders_suresi":"50","sinif":"A2","tipi":"Backend","eğitmen":"ayşe","mevcut":"25"}
{"index":{"_id":6}}
{"ders_adi":"Oracle","ders_suresi":"50","sinif":"B2","tipi":"Database","eğitmen":"ayşe","mevcut":"32"}
{"index":{"_id":6}}
{"ders_adi":"Jquery","ders_suresi":"50","sinif":"B3","tipi":"Database","eğitmen":"ayşe","mevcut":null}
Yukarıdaki gibi bulk insert ile elasticsearche kayıtlarımızı insert ettik.
Uri Query
GET ders/_search?q=ders_suresi:45
DSL Query
Match ile search ederken arama kriterini nasıl yazarsak yazalım match eder. örn. JAVA,JaVA
GET ders/_search
{
"query": {
"match": {
"ders_adi": "Java"
}
}
}
Term ile serach ederken arama kriterini küçük harflerle yazmamız gerekir.örn java
GET ders/_search
{
"query": {
"term": {
"ders_adi": "Java"
}
}
}
İndex içerisindeki sadece belli alanları getirmek istiyorsak
GET ders/_search
{
"_source": ["ders_adi","eğitmen"]
}
Compand Query:
AND Query
GET ders/_search
{
"query": {
"bool": {"must": [
{"match": {
"sinif": "A2"
}},
{"match": {
"tipi": "Frontend"
}}
]}
}
}
OR Query
GET ders/_search
{
"query": {
"bool": {"should": [
{"match": {
"sinif": "A2"
}},
{"match": {
"tipi": "Frontend"
}}
]}
}
}
Must Not Query
Sinifi A2 olan veya tipi frontend olan kayıtların hiç birisi gelmeyecek
GET ders/_search
{
"query": {
"bool": {"must_not": [
{"match": {
"sinif": "A2"
}},
{"match": {
"tipi": "Frontend"
}}
]}
}
}
AMA Query
Sinif A2 olan ama Tipi frontend olmayan kayılar.
GET ders/_search
{
"query": {
"bool": {
"must": [
{"match": {
"sinif": "A2"
}}
],
"must_not": [
{"match": {
"tipi": "Frontend"
}}
]
}
}
}
Filter Query
Ders süresi 10 ile 50 arasında olan kayıtlar
GET ders/_search
{
"query": {
"bool": {"must": [
{"match_all": {}}
],
"filter": [
{"range": {
"ders_suresi": {
"gte": 10,
"lte": 50
}
}}
]
}
}
}
Ders tipi frontend olan, sinifi A2 olan ve ders süresi 10-50 arsında dersleri getir.
GET ders/_search
{
"query": {
"bool": {"must": [
{"match": {
"tipi":"Frontend"
} },
{
"match": {
"sinif": "A2"
}
}
],
"filter": [
{"range": {
"ders_suresi": {
"gte": 10,
"lte": 50
}
}}
]
}
}
}
Hiç yorum yok:
Yorum Gönder