Ano ang Pagkakaiba sa pagitan ng Match at Boolean sa Elasticsearch?

Ano Ang Pagkakaiba Sa Pagitan Ng Match At Boolean Sa Elasticsearch



Ang Elasticsearch ay isang search engine na gumagamit ng mga library ng Apache Lucene mula sa Java programming language at ginagamit ng milyun-milyon. Nagbibigay-daan ito sa user na mag-imbak ng data sa database ng analytics nito at makakagawa din ang user ng mga index at mag-imbak ng data sa mga ito. Ang gumagamit ay maaari ring maglapat ng iba't ibang mga query upang makakuha ng data mula sa mga talahanayan/index at makakuha ng kapaki-pakinabang na impormasyon sa pamamagitan nito.

Ipapaliwanag ng gabay na ito ang pagkakaiba sa pagitan ng Match at Boolean na mga query sa Elasticsearch.







Ano ang Tugma sa Elasticsearch?

Ang Match query sa Elasticsearch ay napaka-simple dahil naglalaman ito ng full-text na kundisyon upang makakuha ng data mula sa database. Kinukuha ng query ng pagtutugma ang data mula sa index at ginagawa itong array at pagkatapos ay hahanapin ang mga gustong keyword mula rito na ginagawang mahusay ang pagkuha ng data.



Ano ang Boolean sa Elasticsearch?

Pinagsasama ng Boolean query sa Elasticsearch ang maraming query sa mga Boolean statement at ipinapakita ang resultang dokumento mula sa database. Ang Boolean query ay may maraming mga clause na ang mga sumusunod:



    • dapat
    • salain
    • dapat
    • hindi dapat

Ano ang Pagkakaiba sa pagitan ng Match at Boolean sa Elasticsearch?

Ipinapaliwanag ng sumusunod na seksyon ang pagkakaiba sa pagitan ng Match at Boolean aggregation sa tulong ng mga halimbawa. Hayaang sundin ang sumusunod na pamamaraan:





Kumonekta sa Elasticsearch at Kibana

Upang magamit ang Match at Boolean na mga query sa Elasticsearch, buksan ang terminal mula sa direktoryo ng bin ng Elasticsearch at gamitin ang sumusunod na command:



elasticsearch.bat



Pagkatapos nito, magtungo sa loob ng direktoryo ng bin ng Kibana mula sa lokal na sistema upang buksan ang terminal at gamitin ang sumusunod na utos:

kibana.bat



Gamitin ang localhost na may port number na 9200 sa web browser upang mag-sign in sa Elasticsearch:

localhost: 9200



Muli, gamitin ang localhost sa web browser ngunit may port number na 5601 para mag-log in sa Kibana UI:

localhost: 5601



Tumungo sa loob ng ' Mga Tool sa Dev ” console mula sa pahina ng Kibana mula sa search bar:


Syntax ng Query ng Tugma

Ang sumusunod ay ang pangunahing syntax ng Match query na may kahilingang GET para kumuha ng data:

GET / _search
{
'tanong' : {
'tugma' : {
'mensahe' : {
'tanong' : 'Ito ay isang pagsubok'
}
}
}
}


Iminumungkahi ng snippet sa itaas:

    • Nagsisimula ang code sa a GET kahilingan gamit ang Search API upang kumuha ng data mula sa database at ang user ay maaaring magdagdag ng isang pangalan ng index pagkatapos ng GET keyword.
    • Ang tanong ang keyword ay naglalaman ng tugma sugnay na nakakakuha ng mensahe mula sa index o database at pagkatapos ay ang datos ay nabanggit sa tanong parirala sa dulo.

Gumamit ng Match Query

Ang seksyong ito ay nagpapaliwanag ng isang praktikal na halimbawa ng paggamit ng Match query at ipinapakita ang data mula sa demo-index gamit ang GET hiling:

GET / demo-index / _search



Gamitin ang sumusunod na code upang maisagawa ang Match query sa Elasticsearch sa “ demo-index 'upang ilapat ang query sa ' watson ” pangalan:

GET / demo-index / _search
{
'tanong' : {
'tugma' : {
'pangalan' : {
'tanong' : 'watson'
}
}
}
}



Syntax ng Boolean Query

Ang sumusunod ay ang pangunahing syntax ng Boolean query na may kahilingan sa GET na kumuha ng data mula sa database:

GET / _search
{
'tanong' : {
'bool' : {
'sugnay' : {
'patlang' : 'term'
}
}
}
}


Iminumungkahi ng snippet sa itaas:

    • Ang GET Ang kahilingan ay ginagamit upang kumuha ng data mula sa index na ginagamit search API .
    • Ang tanong ang keyword ay naglalaman ng bool para sa query na naglalaman nito sugnay upang ilapat ang query sa index o database at pagkatapos ay ang datos ay kinukuha at ipinapakita sa screen.

Gumamit ng Boolean Query

Ang sumusunod na query ay gumagamit ng Boolean na query upang makakuha ng data mula sa ' demo-index ' gamit ang ' dapat 'sugnay at pagsasama-sama ng dalawang query ng ' Pagtatalaga 'may' Pangalan ”:

GET / demo-index / _search
{
'tanong' : {
'bool' : {
'dapat' : [
{
'term' : {
'Pagtatalaga' : 'All-Round'
}
} ,
{
'term' : {
'Pangalan' : 'Anderson'
}
}
]
}
}
}


Ang kumbinasyong ito ay lilikha ng isang Boolean na pahayag upang ilapat ang query sa index:


Iyon ay tungkol sa mga pagkakaiba sa pagitan ng Match at Boolean na mga query sa Elasticsearch.

Konklusyon

Ang Match at Boolean ay dalawang query na ginagamit sa Elasticsearch upang makakuha ng data mula sa analytics database o mula sa index na ginawa ng user. Kino-convert ng match query ang data sa mga array at kinukuha ang data mula sa array para gawing mas mahusay ang proseso. Naglalapat ng maraming query ang Boolean na query upang makagawa ng isang pahayag at naglalapat ng query sa index upang kumuha ng data. Ipinaliwanag ng gabay na ito ang mga pagkakaiba sa pagitan ng Match at Boolean na mga query sa Elasticsearch upang makakuha ng data mula sa database.