సాగే శోధన SQL అనువాద API

Sage Sodhana Sql Anuvada Api



ఈ పోస్ట్‌లో, JSON ఆధారంగా పూర్తి ప్రశ్న డొమైన్ నిర్దిష్ట భాషను కలిగి ఉన్న ఒక SQL శోధనను చెల్లుబాటు అయ్యే సాగే శోధన API అభ్యర్థనలోకి ఎలా అనువదించాలో మేము నేర్చుకుంటాము.

ఇది చిన్న API అయినప్పటికీ, ఇది చాలా ప్రయోజనకరమైన సాధనం, ముఖ్యంగా SQL డేటాబేస్‌ల నుండి వచ్చే డెవలపర్‌లకు. ఇది SQL ప్రశ్నలను సంబంధిత శోధన ప్రశ్నలకు త్వరగా రిలేట్ చేయడం ద్వారా లెర్నింగ్ కర్వ్‌ను కూడా తగ్గించవచ్చు.

మీరు సాగే శోధన API మరియు మద్దతు ఉన్న ప్రశ్న భాషల పూర్తి సామర్థ్యాలను అన్వేషించవచ్చు.







ఎలాస్టిక్‌సెర్చ్ SQLకి మద్దతు ఇచ్చినప్పటికీ, అది వివిధ పరిమితులను కలిగి ఉంటుందని గుర్తుంచుకోండి.



ప్రశ్న సింటాక్స్

కిందిది అనువాద API యొక్క వాక్యనిర్మాణాన్ని చూపుతుంది:



GET _sql/translate

{

అభ్యర్థన_శరీరం

}

కింది సింటాక్స్‌లో చూపిన విధంగా మీరు అనువాదం APIకి పోస్ట్ అభ్యర్థనను కూడా పంపవచ్చు:





POST _sql/translate

{

అభ్యర్థన_శరీరం

}

మీ క్లస్టర్ కాన్ఫిగరేషన్‌పై ఆధారపడి, మీరు ప్రశ్నించాలనుకుంటున్న ఇండెక్స్‌లో APIకి రీడ్ ప్రివిలేజ్‌లు అవసరం కావచ్చు. మీరు లక్ష్య వనరును ఇండెక్స్ అలియాస్ లేదా డేటా స్ట్రీమ్‌గా కూడా పేర్కొనవచ్చు.

request_bodyలో, మీరు అన్ని SQL శోధన API అభ్యర్థన శరీర పారామితులను పేర్కొనవచ్చు. మరింత తెలుసుకోవడానికి కింది వనరులో అందించిన పత్రాలను అన్వేషించండి:



https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-search-api.html#sql-search-api-request-body

ప్రతిస్పందనగా, ప్రశ్న ప్రశ్నించిన డేటాతో శోధన APIకి సంబంధించిన ఫలితాన్ని అందించాలి.

ఉదాహరణ

ఈ APIని ఎలా ఉపయోగించాలో ఉత్తమంగా వివరించడానికి, మేము నెట్‌ఫ్లిక్స్ చలనచిత్రాలు మరియు టీవీ షోల గురించిన మొత్తం డేటాను కలిగి ఉన్న “నెట్‌ఫ్లిక్స్” అనే సూచికను కలిగి ఉన్నామని ఊహిస్తాము.

మేము 2020 మరియు అంతకంటే ఎక్కువ సంవత్సరంలో విడుదల చేసిన నెట్‌ఫ్లిక్స్ ఇండెక్స్ నుండి మొదటి ఐదు సినిమాలను పొందాలనుకుంటున్నాము:

సమానమైన SQL ప్రశ్నను క్రింద చూపిన విధంగా వ్యక్తీకరించవచ్చు:

టైటిల్, వ్యవధి, రేటింగ్ ఎంచుకోండి, నెట్‌ఫ్లిక్స్ నుండి టైప్ చేయండి ఎక్కడ రకం = 'సినిమా' మరియు విడుదల_సంవత్సరం >= 2020

సాగే శోధనలో పై SQL శోధనను అమలు చేయడానికి, క్రింద చూపిన విధంగా మేము దానిని SQL శోధన APIలో ఉంచవచ్చు:

కర్ల్ -XGET “http://localhost:9200/_sql?format=txt” -హెచ్ 'kbn-xsrf: రిపోర్టింగ్' -హెచ్ 'కంటెంట్-రకం: అప్లికేషన్/json' -డి '

{

'ప్రశ్న': ' \n టైటిల్, వ్యవధి, రేటింగ్ ఎంచుకోండి, 'నెట్‌ఫ్లిక్స్' నుండి టైప్ చేయండి ఎక్కడ రకం = '
\ '' సినిమా ' \' ' మరియు విడుదల_సంవత్సరం >= 2020 \n ',

'
పొందు_పరిమాణం ': 5

}'

మునుపటి అభ్యర్థన సూచికను ప్రశ్నించాలి మరియు సరిపోలే రికార్డులను పొందాలి. దిగువ అందించిన విధంగా రిటర్న్ అవుట్‌పుట్ టెక్స్ట్ ఫార్మాట్‌లో ఉంటుంది:

మనం చూడగలిగినట్లుగా, సాగే శోధన ఆశించిన అవుట్‌పుట్‌ను అందిస్తుంది.

అవుట్‌పుట్‌ను JSONగా తిరిగి ఇవ్వడానికి, దిగువ చూపిన విధంగా మేము ఆకృతిని JSONకి సెట్ చేయవచ్చు:

కర్ల్ -XGET 'http://localhost:9200/_sql?format=json' -హెచ్ 'kbn-xsrf: రిపోర్టింగ్' -హెచ్ 'కంటెంట్-రకం: అప్లికేషన్/json' -డి '

{

'ప్రశ్న': ' \n టైటిల్, వ్యవధి, రేటింగ్ ఎంచుకోండి, 'నెట్‌ఫ్లిక్స్' నుండి టైప్ చేయండి ఎక్కడ రకం = '
\ '' సినిమా ' \' ' మరియు విడుదల_సంవత్సరం >= 2020 \n ',

'
పొందు_పరిమాణం ': 5

}'

అవుట్‌పుట్:

SQL ప్రశ్నను శోధన అభ్యర్థనగా మార్చండి

మునుపటి SQL శోధన ప్రశ్నను సాగే శోధన అభ్యర్థనగా మార్చడానికి, దిగువ చూపిన విధంగా మేము దానిని అనువాదం APIకి పంపవచ్చు:

కర్ల్ -XGET 'http://localhost:9200/_sql/translate' -హెచ్ 'kbn-xsrf: రిపోర్టింగ్' -హెచ్ 'కంటెంట్-రకం: అప్లికేషన్/json' -డి '

{

'ప్రశ్న': ' \n టైటిల్, వ్యవధి, రేటింగ్ ఎంచుకోండి, 'నెట్‌ఫ్లిక్స్' నుండి టైప్ చేయండి ఎక్కడ రకం = '
\ '' సినిమా ' \' ' మరియు విడుదల_సంవత్సరం >= 2020 \n ',

'
పొందు_పరిమాణం ': 5

}'

కింది అవుట్‌పుట్‌లో చూపిన విధంగా API ఇన్‌పుట్ SQL ఇన్‌పుట్‌ను అన్వయించి, చెల్లుబాటు అయ్యే శోధన అభ్యర్థనగా మార్చాలి:

{
'పరిమాణం' : 5 ,
'ప్రశ్న' : {
'బూల్' : {
'తప్పక' : [
{
'పదం' : {
'రకం' : {
'విలువ' : 'సినిమా'
}
}
},
{
'పరిధి' : {
'విడుదల_సంవత్సరం' : {
'gte' : 2020 ,
'బూస్ట్' : 1
}
}
}
],
'బూస్ట్' : 1
}
},
'_మూలం' : తప్పు,
'క్షేత్రాలు' : [
{
'ఫీల్డ్' : 'శీర్షిక'
},
{
'ఫీల్డ్' : 'వ్యవధి'
},
{
'ఫీల్డ్' : 'రేటింగ్'
},
{
'ఫీల్డ్' : 'రకం'
}
],
'క్రమబద్ధీకరించు' : [
{
'_డాక్' : {
'ఆర్డర్' : 'asc'
}
}
]
}

మీరు దిగువ చూపిన విధంగా Elasticsearch శోధన APIకి పంపడానికి ఈ అభ్యర్థన ఆకృతిని ఉపయోగించవచ్చు:

కర్ల్ -XPOST 'http://localhost:9200/netflix/_search' -హెచ్ 'kbn-xsrf: రిపోర్టింగ్' -హెచ్ 'కంటెంట్-రకం: అప్లికేషన్/json' -డి '
{
'పరిమాణం': 5,
'ప్రశ్న': {
'బూల్': {
'తప్పక': [
{
'టర్మ్': {
'రకం': {
'విలువ': 'సినిమా'
}
}
},
{
'పరిధి': {
'release_year': {
'gte': 2020,
'బూస్ట్': 1
}
}
}
],
'బూస్ట్': 1
}
},
'_source': తప్పు,
'క్షేత్రాలు': [
{
'ఫీల్డ్': 'టైటిల్'
},
{
'ఫీల్డ్': 'వ్యవధి'
},
{
'ఫీల్డ్': 'రేటింగ్'
},
{
'ఫీల్డ్': 'రకం'
}
],
'క్రమబద్ధీకరించు': [
{
'_doc': {
'ఆర్డర్': 'asc'
}
}
]
}'

అదేవిధంగా, దిగువ చూపిన విధంగా అభ్యర్థన సారూప్య డేటాను అందించాలి:

ముగింపు

ఈ పోస్ట్ ద్వారా, మీరు ఇప్పటికే ఉన్న సాగే శోధన సూచిక నుండి డేటాను పొందేందుకు SQL ప్రశ్నలను ఎలా ఉపయోగించవచ్చో మీరు కనుగొన్నారు. చెల్లుబాటు అయ్యే SQL ప్రశ్నను సాగే శోధన అభ్యర్థనగా మార్చడానికి అనువాద SQL APIని ఎలా ఉపయోగించాలో కూడా మీరు నేర్చుకున్నారు.