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.