Mitä eroa on sumean kyselyn ja hakukyselyn välillä?

Mita Eroa On Sumean Kyselyn Ja Hakukyselyn Valilla



Elasticsearch on tunnettu, ilmainen, avoimen lähdekoodin, analyyttinen ja hajautettu hakukone ja tietokanta, jota käytetään erityyppisten tietojen hallintaan. Se on puhtaasti NoSQL-tietokanta ja toimii eri tavalla kuin tyypilliset SQL- ja relaatiotietokannat. Elasticsearch käyttää kyselyn DSL- ((Domain Specific Language)- ja REST-sovellusliittymiä tietojen hallintaan ja analysoimiseen. Elasticsearchissa on erityyppisiä kyselyitä, kuten sumea kysely, hakukysely, jokerimerkkikysely, etuliitekysely ja monia muita. Nämä kyselyt toimivat eri tavalla. toisiltaan.

Tämä postaus osoittaa:

Mikä on 'sumea' kysely?

' sumea ' kysely on Query DSL, joka suorittaa muita hakutoimintoja, kuten merkin vaihtamisen, merkin lisäämisen tai merkin poistamisen Levenshtein muokkaa etäisyyttä ' etäisyys. Se yleensä löytää eron termien välillä ja palauttaa tuloksen asiakirjassa, joka on lähempänä haettua termiä tai melkein samanlainen kuin se.







Mikä on 'vastaavuus'?

' ottelu ” -kysely on toinen kyselyn DSL-tyyppi, jota käytetään vastaamaan tai etsimään annettuja tietoja, kuten merkkijonoa, numeroa tai tekstiä. Se on ' koko teksti ” -pohjaisen kyselyn ja suorittaa kokotekstihaun ja palauttaa tulokset, jotka vastaavat tarkasti haettua termiä. Jos termi ei vastaa hakutermiä, se palauttaa tyhjän merkkijonon tai epätosi.



Ero 'fuzzy' ja 'match' kyselyn välillä

Molemmat' sumea ' ja ' ottelu ”-kyselyitä käytetään hakutarkoituksiin. Keskeinen ero näiden kahden kyselyn välillä on, että 'fuzzy'-kysely tekee sumean haun ja palauttaa tuloksen, joka on samanlainen tai lähellä haettua termiä. Sitä vastoin hakukysely palauttaa tulokset, jotka vastaavat tarkasti haettua termiä.



Jotta ymmärrät paremmin, noudata alla olevia esimerkkejä:





Esimerkki 1: Sumea haku käyttämällä 'sumeaa' kyselyä

Oletetaan, että käyttäjä haluaa löytää asiakirjan, jossa on ' Nimitys ' arvo ' Tekijä ”. Tehdään haku, joka löytää läheisemmän vastaavuuden. Käytä tätä varten ' sumea '-kysely hakeaksesi asiakirjaa, jossa on ' Nimitys ' arvo yhtä suuri tai lähempänä ' kirjoittaja ':

OTA linuxhint / _Hae

{

'kysely' : {

'sumea' : {

'nimitys' : 'kirjailija'

}

}

}

Alla oleva tulos osoittaa, että asiakirja, jolla on tunnus ' 1 ” on ” Nimitys ' arvo lähellä ' kirjoittaja ”hakutermi:



Mutta jos yllä olevaa esimerkkiä sovelletaan ' ottelu '-kysely, se lähettää ' tyhjä merkkijono ', koska se palauttaa täsmälleen vastaavan termin.

Esimerkki 2: Sumea haku käyttämällä hakukyselyä

Otetaan sama esimerkki ja sovelletaan ' ottelu ' kysely löytääkseen asiakirjan, jolla on ' Nimitys ' arvo ' kirjoittaja ':

OTA linuxhint / _Hae

{

'kysely' : {

'ottelu' : {

'nimitys' : 'kirjailija'

}

}

}

Alla oleva tulos osoittaa, että ' ottelu ' kysely ei löydä läheisempiä tuloksia ja palauttaa ' tyhjä ' merkkijono:

Muutetaan haettu arvo ' kirjoittaja ”–” Tekijä ' ja suorita ' ottelu ” kysely alla olevan kuvan mukaisesti:

OTA linuxhint / _Hae

{

'kysely' : {

'ottelu' : {

'nimitys' : 'Kirjoittaja'

}

}

}

Täällä voit nähdä ' ottelu 'kysely palauttaa asiakirjan, jolla on tunnus' 1 ”. Koska asiakirja 1 vastaa täsmälleen haettuja termejä:

Siinä on kyse erosta ' sumea ' kysely ja ' ottelu ” kysely.

Johtopäätös

' sumea ” -kyselyä käytetään sumean haun tekemiseen ja se palauttaa tulokset, jotka vastaavat tarkasti haettua termiä. Kuitenkin ' ottelu ” kysely ei tue sumeaa hakua ja palauttaa tulokset, jotka vastaavat tarkasti haettua termiä. Tämä blogi on havainnollistanut eroa sumean kyselyn ja hakukyselyn välillä.