„Elasticsearch“ yra paieškos sistema, naudojanti „Java“ programavimo kalbos „Apache Lucene“ bibliotekas ir kurią naudoja milijonai. Tai leidžia vartotojui saugoti duomenis savo analizės duomenų bazėje, o vartotojas taip pat gali kurti indeksus ir juose saugoti duomenis. Vartotojas taip pat gali taikyti įvairias užklausas, kad gautų duomenis iš lentelių/indeksų ir per tai gautų naudingos informacijos.
Šis vadovas paaiškins skirtumą tarp atitikties ir Būlio užklausų Elasticsearch.
Kas yra Elasticsearch atitikmuo?
„Elasticsearch“ užklausa „Match“ yra labai paprasta, nes joje yra viso teksto sąlyga norint gauti duomenis iš duomenų bazės. Atitikties užklausa paima duomenis iš indekso ir paverčia juos masyvu, o tada iš jo ieško norimų raktinių žodžių, todėl duomenų gavimas tampa efektyvus.
Kas yra Būlio vertė Elasticsearch?
Būlio užklausa Elasticsearch sujungia kelias užklausas į Būlio teiginius ir parodo gautą dokumentą iš duomenų bazės. Būlio užklausa turi keletą sąlygų, kurios yra tokios:
-
- privalo
- filtras
- turėtų
- neturi_ne
Kuo Elasticsearch skiriasi atitikmuo ir Būlio reikšmė?
Kitame skyriuje pateikiami pavyzdžiai paaiškinami skirtumai tarp atitikties ir Būlio agregacijos. Atlikite toliau pateiktą procedūrą:
Prisijunkite prie Elasticsearch ir Kibana
Norėdami naudoti Elasticsearch atitikties ir Būlio užklausas, atidarykite terminalą iš Elasticsearch bin katalogo ir naudokite šią komandą:
elasticsearch.bat
Po to eikite į Kibana šiukšliadėžės katalogą iš vietinės sistemos, kad atidarytumėte terminalą ir naudokite šią komandą:
Norėdami prisijungti prie Elasticsearch, žiniatinklio naršyklėje naudokite vietinį prieglobą su prievado numeriu 9200:
Vėlgi, naudokite „localhost“ žiniatinklio naršyklėje, bet su prievado numeriu 5601, kad prisijungtumėte prie „Kibana“ vartotojo sąsajos:
Eikite į „ Kūrėjo įrankiai “ pultą iš „Kibana“ puslapio iš paieškos juostos:
Atitikties užklausos sintaksė
Toliau pateikiama pagrindinė užklausos suderinti su GET užklausa duomenims gauti sintaksė:
GAUTI / _Paieška{
'užklausa' : {
'rungtynės' : {
'žinutė' : {
'užklausa' : 'Čia testas'
}
}
}
}
Aukščiau pateiktas fragmentas siūlo:
-
- Kodas prasideda raide a GAUTI prašyti naudojant Paieškos API norėdami gauti duomenis iš duomenų bazėje ir vartotojas gali pridėti indekso pavadinimas po raktinio žodžio GET.
- The užklausą raktažodyje yra rungtynės sąlyga, kuri gauna žinutę iš indekso arba duomenų bazės ir tada duomenis yra minimas užklausą frazė pabaigoje.
Naudokite atitikties užklausą
Šiame skyriuje paaiškinamas praktinis užklausos atitikties naudojimo pavyzdys ir pateikiami duomenys iš demonstracinis indeksas naudojant a GAUTI prašymas:
GAUTI / demonstracinis indeksas / _Paieška
Naudokite šį kodą, kad atliktumėte atitikties užklausą Elasticsearch svetainėje „ demonstracinis indeksas “, kad pritaikytumėte užklausą „ Vatsonas ' vardas:
{
'užklausa' : {
'rungtynės' : {
'vardas' : {
'užklausa' : 'vatsonas'
}
}
}
}
Būlio užklausos sintaksė
Toliau pateikiama pagrindinė Būlio užklausos su GET užklausa duomenims iš duomenų bazės sintaksė:
GAUTI / _Paieška{
'užklausa' : {
'Bool' : {
'išlyga' : {
'laukas' : 'terminas'
}
}
}
}
Aukščiau pateiktas fragmentas siūlo:
-
- The GAUTI užklausa naudojama duomenims iš indekso gauti naudojant paieškos API .
- The užklausą raktažodyje yra bool užklausai, kurioje yra jos sąlyga kad pritaikytumėte užklausą indeksui arba duomenų bazei, tada duomenis paimamas ir rodomas ekrane.
Naudokite Būlio užklausą
Ši užklausa naudoja Būlio užklausą, kad gautų duomenis iš ' demonstracinis indeksas ' naudojant ' privalo ' sąlygą ir sujungiant dvi užklausas ' Paskyrimas ' su ' vardas “:
GAUTI / demonstracinis indeksas / _Paieška{
'užklausa' : {
'Bool' : {
'privalo' : [
{
'terminas' : {
'Paskirtis' : „Visapusis“
}
} ,
{
'terminas' : {
'Vardas' : 'Andersonas'
}
}
]
}
}
}
Šis derinys sukurs Būlio sakinį, kad užklausa būtų pritaikyta indeksui:
Tai viskas apie skirtumus tarp atitikties ir Būlio užklausų Elasticsearch.
Išvada
Match ir Boolean yra dvi užklausos, naudojamos Elasticsearch gauti duomenis iš analizės duomenų bazės arba iš vartotojo sukurto indekso. Atitikties užklausa konvertuoja duomenis į masyvus ir paima duomenis iš masyvo, kad procesas būtų efektyvesnis. Būlio užklausa taiko kelias užklausas, kad padarytų vieną teiginį, ir taiko užklausą rodyklėje, kad gautų duomenis. Šiame vadove paaiškinti skirtumai tarp atitikimo ir Būlio užklausų Elasticsearch, norint gauti duomenis iš duomenų bazės.