Video: Web Programming - Computer Science for Business Leaders 2016 2024
Multe baze de date NoSQL suportă capacitățile de interogare și anumite capabilități de căutare. Alegerea celui potrivit duce deseori la înțelegerea caracteristicilor pe care trebuie să le sprijiniți.
Deși sunt legate, interogarea și căutarea sunt destul de diferite. O interogare returnează numai rezultatele care corespund tuturor termenilor din ea. Căutarea, pe de altă parte, poate include termeni opționali și de obicei furnizează rezultate ordonate după un calcul al relevanței.
Calculele de relevanță permit multe interacțiuni de căutare mai flexibile. Utilizatorii care efectuează căutările fac apelul final cu privire la care rezultat este un meci pentru ei - motorul de căutare oferă doar sugestii ordonate.
Atât căutarea cât și interogarea permit potriviri de valoare exactă și interogări de interval - de exemplu, unde o valoare de câmp de dată într-o înregistrare se află între două valori. Interogările privind intervalele nu sunt acceptate de multe baze de date NoSQL sau de motoarele de căutare, așa că dacă aveți nevoie de ele, asigurați-vă că ați verificat acest aspect mai devreme în procesul de selecție.
Majoritatea motoarelor de căutare au rolul de a căuta în întregime înregistrările și de a-și limita termenii de interogare în câmpuri specifice (cum ar fi o dată publicată). În mod obișnuit, sunt disponibile mai multe metode de interogare de text liber, inclusiv:
-
interogare Word, în care fiecare cuvânt este OR'ed împreună: Deci, "adam fowler blog" este evaluat ca blog adam sau fowler OR cu un meci din toate cuvintele, rezultând un scor mai mare de relevanță decât ar folosi doar unul dintre cuvinte.
-
Interogarea expresiei, în care întreaga expresie este tratată ca una: Deci "De șoareci și bărbați" este evaluată astfel încât rezultatul trebuie să aibă toate cuvintele, în aceeași ordine, o potrivire.
-
Wildcard: Căutarea pentru "run *" returnează rezultatele pentru "run", "runs", "running" și "runner. "
-
Stemming: O căutare pentru" run ", de asemenea, returnează rezultatele pentru" run "și" runs ", dar nu" running "sau" runner "; căutarea pentru "pisică", de asemenea, returnează rezultatele pentru "pisici. "
-
Lemmatizare: Aceasta este o metodă mai avansată decât cea care se datorează. De exemplu, lemmatizarea termenului "mai bine" are ca rezultat lemma (forma de bază sau dicționar a unui cuvânt), care în acest caz este "bună". "
Majoritatea oamenilor preferă să tastați termenii de căutare într-o căsuță de căutare în stil Google, deoarece este atât de ușor de utilizat.
Motoarele de căutare acceptă un format de text numit gramatică de căutare. În Google, de exemplu, tastând "site: uk AND Adam Fowler AND London" se potrivesc toate documentele de pe site-urile din Marea Britanie care menționează cuvântul London și fraza Adam Fowler.
De asemenea, puteți utiliza paranteze pentru a încadra termeni în termeni, ceea ce este deosebit de util pentru operatorii booleani, cum ar fi AND, OR și NOT.
Uneori este nevoie de un mecanism de interogare mai structurat. De obicei, acesta este un format adaptat și foarte fin în format JSON sau XML. Un exemplu bun se regăsește în interogările geospațiale. Specificarea unei casete delimitare a unei zone pe care doriți o potrivire de căutare este, de obicei, cea mai bună realizare pe o hartă, prin desenarea unei casete mai degrabă decât prin introducerea coordonatelor într-o bară de căutare gratuită.
Din ce în ce mai mult, utilizatorii utilizează interogări geospațiale pentru a limita căutările, inclusiv următoarele:
-
Punct: Se potrivește cu un punct exact.
-
Raza punctului: Se potrivește la o distanță de un punct (o zonă circulară).
-
Cutie de legătură: Se potrivește cu o suprafață pătrată (ca în zona afișată a unei hărți).
-
Poligon: Se potrivește cu o formă neregulată sau neregulată. Un exemplu bun este forma unui județ sau a unui stat. Acestea sunt, în esență, rețele mari de coordonate într-o zonă.
-
Intersecția poligon-poligon: Se potrivește poligoanilor din înregistrări (spre deosebire de punctele din înregistrări ca în tipurile de interogare precedente) cu un poligon de interogare. Poligonul interogării atinge cel din înregistrare, sau îl conține complet sau o pierde în întregime? Acest tip de interogare necesită mult procesare și nu este susținut pe scară largă, dar este necesar în industria de apărare.
Este important să rețineți că interogările geospațiale se bazează foarte mult pe matematică complexă despre modul în care un anumit sistem de referință de coordonate (numit CRS) reprezintă lumea. De exemplu, dispozitivele GPS utilizează un sistem numit WGS84 (denumit și EPSG: 4326), în timp ce hărțile online utilizează sistemul EPSG: 900916 CRS. Conștientizarea modului în care o bază de date își stochează datele geospațiale și conversiile necesare este foarte importantă; în caz contrar, s-ar putea să nu obțineți un meci deloc sau să vă aflați la câteva sute de metri distanță de rezultatul dorit.
Unele motoare de căutare suportă și metode care ajută utilizatorii să introducă întrebările lor. Acest lucru este cel mai evident în funcția de completare automată a Google. Începeți să tastați o interogare și Google sugerează cele mai probabile interogări pentru care puteți selecta. Multe motoare de căutare acceptă funcționalități similare.
Multe funcții de căutare sunt disponibile, așa că asigurați-vă că faceți cercetările înainte de a selecta un motor de căutare.