Kuo skiriasi neaiškios užklausos ir atitikties užklausos?

Kuo Skiriasi Neaiskios Uzklausos Ir Atitikties Uzklausos



Elasticsearch yra gerai žinoma, nemokama, atvirojo kodo, analitinė ir paskirstyta paieškos sistema ir duomenų bazė, naudojama įvairių tipų duomenims valdyti. Tai grynai NoSQL duomenų bazė ir veikia kitaip nei įprastos SQL ir reliacinės duomenų bazės. Elasticsearch naudoja užklausų DSL ((Domenui būdinga kalba) ir REST API duomenims tvarkyti ir analizuoti. Elasticsearch yra įvairių tipų užklausų, pvz., neaiškios užklausos, atitikties užklausos, pakaitos užklausos, priešdėlio užklausos ir daugelis kitų. Šios užklausos veikia skirtingai. vienas nuo kito.

Šis įrašas demonstruoja:

Kas yra „neaiški“ užklausa?

neryškus “ užklausa yra užklausos DSL, kuri atlieka paieškos kitas operacijas, tokias kaip simbolio pakeitimas, simbolio įterpimas arba simbolio pašalinimas pagal „ Levenshteino redagavimo atstumas “ atstumas. Paprastai jis nustato skirtumą tarp terminų ir pateikia rezultatą dokumente, kuris yra artimesnis ieškotam terminui arba beveik panašus į jį.







Kas yra „atitikties“ užklausa?

rungtynės “ užklausa yra kitas užklausos DSL tipas, naudojamas norint suderinti arba ieškoti nurodytų duomenų, tokių kaip eilutė, skaičius ar tekstas. Tai yra ' pilnas tekstas “ pagrįstą užklausą ir atlieka viso teksto paiešką bei pateikia rezultatus, kurie tiksliai atitinka ieškomą terminą. Jei terminas neatitinka paieškos termino, jis grąžins nulinę eilutę arba false.



Skirtumas tarp „neaiškios“ ir „atitinkančios“ užklausos

Abu “ neryškus “ ir „ rungtynės “ užklausos naudojamos paieškos tikslais. Pagrindinis skirtumas tarp šių dviejų užklausų yra tas, kad „neaiški“ užklausa atlieka neaiškią paiešką ir pateikia rezultatą, panašų į ieškomą terminą arba artimą jam. Priešingai, užklausa „atitikimas“ pateikia rezultatus, kurie tiksliai atitinka ieškomą terminą.



Norėdami geriau suprasti, vadovaukitės toliau pateiktais pavyzdžiais:





1 pavyzdys: Apytikslė paieška naudojant „neaiškią“ užklausą

Tarkime, vartotojas nori rasti dokumentą, kuriame yra „ Paskyrimas “ vertė kaip “ Autorius “. Atlikime paiešką, kuri randa artimesnį atitikmenį. Norėdami tai padaryti, naudokite ' neryškus “ užklausa ieškoti dokumente, kuriame yra „ Paskyrimas ' reikšmė lygi arba artimesnė ' autorius “:

Gaukite linuxhint / _Paieška

{

'užklausa' : {

'neryškus' : {

'Paskirtis' : 'autorius'

}

}

}

Žemiau pateikta išvestis rodo, kad dokumentas, kurio ID ' 1 ' turi ' Paskyrimas ' vertė artima ' autorius “ ieškomas terminas:



Bet jei aukščiau pateiktas pavyzdys taikomas „ rungtynės “ užklausą, ji atsiųs „ nulinė eilutė “, nes grąžinamas tiksliai atitinkantis terminas.

2 pavyzdys: Neaiškia paieška naudojant „Atitikties“ užklausą

Paimkime tą patį pavyzdį ir pritaikykime „ rungtynės “ užklausa, norint rasti dokumentą su „ Paskyrimas “ vertė kaip “ autorius “:

Gaukite linuxhint / _Paieška

{

'užklausa' : {

'rungtynės' : {

'Paskirtis' : 'autorius'

}

}

}

Žemiau pateikta produkcija rodo, kad „ rungtynės “ užklausa neranda artimesnių rezultatų ir grąžina „ nulinis “ eilutė:

Pakeiskime ieškomą reikšmę iš „ autorius 'į' Autorius “ ir paleiskite „ rungtynės “ užklausą, kaip parodyta žemiau:

Gaukite linuxhint / _Paieška

{

'užklausa' : {

'rungtynės' : {

'Paskirtis' : 'Autorius'

}

}

}

Čia galite pamatyti „ rungtynės 'užklausa grąžina dokumentą su ID' 1 “. Kadangi 1 dokumentas tiksliai atitinka ieškomus terminus:

Tai viskas apie skirtumą tarp „ neryškus “ užklausa ir “ rungtynės “ užklausą.

Išvada

neryškus “ užklausa naudojama neaiškiai paieškai atlikti ir pateikia rezultatus, kurie labai atitinka ieškomą terminą. Tačiau „ rungtynės “ užklausa nepalaiko neaiškios paieškos ir pateikia rezultatus, kurie tiksliai atitinka ieškomą terminą. Šis tinklaraštis iliustruoja skirtumą tarp neaiškios užklausos ir atitikties užklausos.