Video: How do I Enable Offline Support? | Get to Know Cloud Firestore #9 2024
Molti database NoSQL supportano le funzionalità di query e alcune funzionalità di ricerca. Scegliere quello giusto spesso si riduce alla comprensione delle funzionalità che è necessario supportare.
Anche se sono correlati, query e ricerca sono molto diversi. Una query restituisce solo i risultati che corrispondono a tutti i termini in esso contenuti. La ricerca, d'altra parte, può includere termini facoltativi e in genere fornisce risultati ordinati in base a un calcolo della pertinenza.
I calcoli di pertinenza consentono molte interazioni di ricerca più flessibili. Gli utenti che effettuano le ricerche fanno la chiamata finale su quale risultato corrisponde a loro - il motore di ricerca fornisce solo suggerimenti ordinati.
Sia la ricerca che la query abilitano le corrispondenze di valori esatti e le query di intervallo, ad esempio, dove un valore del campo data in un record si trova tra due valori. Le query di intervallo non sono supportate da molti database NoSQL o motori di ricerca, quindi se ne hai bisogno, assicurati di verificarlo all'inizio della procedura di selezione.
La maggior parte dei motori di ricerca è progettata per cercare interi record e limitare i termini di ricerca a campi specifici (come una data "pubblicata su"). In genere sono disponibili più metodi di query a testo libero, tra cui:
-
Query di parole, in cui ogni parola è OR insieme: Quindi "blog di adam fowler" viene valutato come adam OR fowler o blog, con una corrispondenza di tutte le parole, risultando in un punteggio di pertinenza più alto di quello che userebbe solo una delle parole.
-
Query a frase, dove l'intera frase è trattata come una: Quindi "Of Mice and Men" viene valutato in modo tale che il risultato debba avere tutte le parole, nello stesso ordine, da essere una partita.
-
Wildcard: La ricerca di "run *" restituisce risultati per "run", "run", "running" e "runner". "
-
Stemming: Una ricerca per" run "restituisce anche i risultati per" ran "e" run ", ma non" running "o" runner "; la ricerca di "gatto" restituisce anche i risultati per "gatti". "
-
Lemmatizzazione: Questo è un metodo più avanzato rispetto allo stemming Ad esempio, la lemmatizzazione del termine "migliore" risulta nel suo lemma (la forma base o dizionario di una parola), che in questo caso è "buona". "
La maggior parte delle persone preferisce digitare i termini di ricerca in una casella di ricerca in stile Google perché è così intuitiva.
I motori di ricerca supportano un formato di testo chiamato ricerca grammatica. In Google, ad esempio, digitando "sito: uk AND Adam Fowler AND London", vengono confrontati tutti i documenti dei siti Web del Regno Unito che menzionano la parola Londra e la frase Adam Fowler.
È anche possibile utilizzare le parentesi per annidare termini all'interno di termini, che è particolarmente utile con operatori booleani come AND, OR e NOT.
A volte, è necessario un meccanismo di query più strutturato. In genere, questo è un formato su misura e molto fine a grana fine in un formato JSON o XML. Un buon esempio si trova nelle query geospaziali. Specificando un riquadro di delimitazione di un'area in cui si desidera che una ricerca corrisponda, si esegue generalmente meglio su una mappa, disegnando una casella piuttosto che digitando le coordinate in una barra di ricerca a testo libero.
Sempre più persone utilizzano le query geospaziali per limitare le ricerche, tra cui:
-
Punto: Trova un punto esatto.
-
Raggio del punto: Corrisponde a una distanza di un punto (un'area circolare).
-
Riquadro limite: Corrisponde a un'area quadrata (come nell'area visualizzata della mappa).
-
Poligono: Abbina una forma a mano libera o irregolare. Un buon esempio è la forma di una contea o di uno stato. Questi sono fondamentalmente grandi matrici di coordinate all'interno di un'area.
-
Intersezione poligono-poligono: Trova poligoni all'interno di record (anziché punti all'interno di record come nei tipi di query precedenti) con un poligono di query. Il poligono della query tocca quello in un record o lo contiene completamente o lo manca completamente? Questo tipo di query richiede molta elaborazione e non è ampiamente supportato, ma è necessario nel settore della difesa.
È importante notare che le query geospaziali si basano molto sulla matematica complessa su come un particolare sistema di riferimento di coordinate (chiamato CRS) rappresenta il mondo. Ad esempio, i dispositivi GPS utilizzano un sistema denominato WGS84 (chiamato anche EPSG: 4326), mentre le mappe online utilizzano il sistema EPSG: 900916 CRS. Essere consapevoli di come un database memorizza i suoi dati geospaziali e le conversioni necessarie è molto importante; altrimenti, potresti non ottenere alcuna corrispondenza o essere a diverse centinaia di metri dal risultato desiderato.
Alcuni motori di ricerca supportano anche metodi che aiutano gli utenti a inserire le loro domande. Questo è più evidente nella funzionalità di completamento automatico di Google. Inizi a digitare una query e Google suggerisce le query più probabili da cui selezionare. Molti motori di ricerca supportano funzionalità simili.
Sono disponibili molte altre funzioni di ricerca, quindi assicurati di fare le tue ricerche prima di selezionare un motore di ricerca.