కీవర్డ్ ఆధారిత ప్రశ్న(Match Query)
నిర్దిష్ట కీలక పదాలను కలిగి ఉన్న పత్రాల కోసం శోధించడానికి మ్యాచ్ ప్రశ్న ఉపయోగించబడుతుంది. ఇది కనీసం ఒక సంబంధిత కీవర్డ్ని కలిగి ఉన్న పత్రాలను అందిస్తుంది.
ఉదాహరణ: కీవర్డ్ని కలిగి ఉన్న పేరుతో ఉత్పత్తులను laptop
కనుగొనండి products Index
.
GET /products/_search
{
"query": {
"match": {
"name": "laptop"
}
}
}
అన్ని కీలక పదాలను కలిగి ఉండాలి(Match Phrase Query)
మ్యాచ్ పదబంధ ప్రశ్నకు ప్రశ్నలోని అన్ని కీలకపదాలు వరుసగా మరియు డాక్యుమెంట్ టెక్స్ట్లో సరైన క్రమంలో కనిపించడం అవసరం.
ఉదాహరణ: పదబంధాన్ని కలిగి ఉన్న వివరణతో ఉత్పత్తులను కనుగొనండి HP laptop
.
GET /products/_search
{
"query": {
"match_phrase": {
"description": "HP laptop"
}
}
}
తప్పనిసరిగా పూర్తి పదబంధ ఉపసర్గను కలిగి ఉండాలి(Match Phrase Prefix Query)
మ్యాచ్ పదబంధ ఉపసర్గ ప్రశ్న మ్యాచ్ పదబంధాన్ని పోలి ఉంటుంది, అయితే ఇది చివరి కీవర్డ్ యొక్క పాక్షిక సరిపోలికను అనుమతిస్తుంది.
ఉదాహరణ: తో ప్రారంభమయ్యే వివరణతో ఉత్పత్తులను కనుగొనండి laptop
.
GET /products/_search
{
"query": {
"match_phrase_prefix": {
"description": "laptop"
}
}
}
టర్మ్ ఆధారిత ప్రశ్న(టర్మ్ క్వెరీ)
పేర్కొన్న విధంగా ఖచ్చితమైన విలువను కలిగి ఉన్న ఫీల్డ్తో పత్రాల కోసం శోధించడానికి టర్మ్ ప్రశ్న ఉపయోగించబడుతుంది.
ఉదాహరణ: category
విలువ కలిగిన ఫీల్డ్తో ఉత్పత్తులను కనుగొనండి laptop
.
GET /products/_search
{
"query": {
"term": {
"category": "laptop"
}
}
}
పరిధి-ఆధారిత ప్రశ్న(Range Query)
పరిధి ప్రశ్న నిర్దిష్ట పరిధిలో ఫీల్డ్ విలువతో పత్రాల కోసం శోధించడంలో సహాయపడుతుంది.
ఉదాహరణ: 500 మరియు 1000 మధ్య ధరలతో ఉత్పత్తులను కనుగొనండి.
GET /products/_search
{
"query": {
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
}
టర్మ్ స్థాయి ప్రశ్న
ఖచ్చితమైన, ఉపసర్గ, పరిధి, వైల్డ్కార్డ్ మరియు అస్పష్టమైన ప్రశ్నల వంటి నిర్దిష్ట పరిస్థితుల ఆధారంగా పత్రాల కోసం శోధించడానికి టర్మ్ స్థాయి ప్రశ్నలు అనుమతిస్తాయి.
ఉదాహరణ: పేరుతో మొదలయ్యే ఉత్పత్తులను laptop
మరియు 500 మరియు 1000 మధ్య ధరలను కనుగొనండి.
GET /products/_search
{
"query": {
"bool": {
"must": [
{
"prefix": {
"name": "laptop"
}
},
{
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
]
}
}
}
Full-Text ప్రశ్న
Full-Text ప్రశ్నలు సారూప్య పదాలు లేదా పర్యాయపదాలను కనుగొనడానికి టెక్స్ట్ విశ్లేషణ అల్గారిథమ్లను ఉపయోగించి టెక్స్ట్ ఫీల్డ్లను శోధించడానికి అనుమతిస్తాయి.
ఉదాహరణ: computer
లేదా laptop
.
GET /products/_search
{
"query": {
"match": {
"description": "computer laptop"
}
}
}
బూలియన్ ప్రశ్న
Boolean
ఖచ్చితమైన శోధన ఫలితాలను సాధించడానికి అన్నింటినీ కలిగి ఉండాలి, కనీసం ఒకదానిని కలిగి ఉండాలి లేదా కలిగి ఉండకూడదు వంటి విభిన్న శోధన పరిస్థితులతో బహుళ ఉప-ప్రశ్నలను కలపడానికి ప్రశ్నలు అనుమతిస్తాయి.
category
ఉదాహరణ: 500 మరియు 1000 మధ్య ఉన్న ఉత్పత్తులను laptop
మరియు ధరలను కనుగొనండి.
GET /products/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"category": "laptop"
}
},
{
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
]
}
}
}
Elasticsearch ప్రతి ప్రశ్న రకానికి ఉదాహరణలతో పాటుగా ఇవి ప్రాథమిక శోధన ప్రశ్నలు. ఉపయోగిస్తున్నప్పుడు Elasticsearch, మీరు డేటా కోసం సులభంగా మరియు సమర్ధవంతంగా శోధించడానికి ఈ ప్రశ్నలను కలపవచ్చు.