bevatten Veel NoSQL-databases ondersteunen query-mogelijkheden en bepaalde zoekmogelijkheden. Het kiezen van de juiste komt vaak neer op het begrijpen van de functies die u nodig hebt om te ondersteunen.
Hoewel ze gerelateerd zijn, zijn query's en zoekopdrachten behoorlijk verschillend. Een query retourneert alleen de resultaten die overeenkomen met alle termen daarin. Zoeken daarentegen kan optionele voorwaarden bevatten en levert doorgaans resultaten op die zijn gesorteerd op basis van een relevantieberekening.
Relevantieberekeningen maken veel meer flexibele zoekinteracties mogelijk. De gebruikers die de zoekopdrachten uitvoeren, maken de laatste oproep over welk resultaat er bij komt kijken - de zoekmachine biedt alleen geordende hints.
Zowel bij zoeken als bij query's kunnen exacte waarden en bereikquery's worden ingeschakeld, bijvoorbeeld wanneer een datumveldwaarde in een record tussen twee waarden ligt. Bereikquery's worden niet ondersteund door veel NoSQL-databases of zoekmachines, dus als u ze nodig hebt, moet u dit vroeg in uw selectieproces controleren.
De meeste zoekmachines zijn ontworpen om hele records te doorzoeken en om hun zoektermen te beperken tot specifieke velden (zoals een "gepubliceerde datum"). Doorgaans zijn meerdere vrije tekst-query-methoden beschikbaar, waaronder deze:
-
Woordquery, waarbij elk woord samen wordt geordend: Dus "adam fowler blog" wordt geëvalueerd als ADAM OF Fowler OR-blog, met een match van alle woorden, resulterend in een hogere relevantiescore dan het gebruik van slechts één van de woorden.
-
Phrase-query, waarbij de hele frase als één wordt behandeld: Dus "Of Mice and Men" wordt zo geëvalueerd dat het resultaat alle woorden in dezelfde volgorde moet bevatten een lucifer.
-
Wildcard: Zoeken naar "run *" levert resultaten op voor "run", "runs", "running" en "runner. "
-
Stemming: Een zoekopdracht voor" run "levert ook resultaten op voor" ran "en" runs ", maar niet voor" running "of" runner "; zoeken naar "kat" levert ook resultaten op voor "katten. "
-
Lemmatisatie: Dit is een geavanceerdere methode dan stampen. De lemmatisatie van de term 'beter' resulteert bijvoorbeeld in het lemma (de basis- of woordenboekvorm van een woord), wat in dit geval 'goed' is. "
De meeste mensen geven de voorkeur aan het typen van zoektermen in een zoekvak in Google-stijl, omdat het zo gebruiksvriendelijk is.
Zoekmachines ondersteunen een tekstindeling met de naam zoekgrammatica. In Google, bijvoorbeeld, typt "site: uk AND Adam Fowler AND London" alle documenten van websites in het Verenigd Koninkrijk die het woord Londen en de uitdrukking Adam Fowler vermelden.
U kunt ook haakjes gebruiken om termen in termen te nesten, wat vooral handig is bij Booleaanse operatoren zoals AND, OR en NOT.
Soms is een meer gestructureerd zoekmechanisme vereist. Dit is meestal een op maat gemaakt en zeer fijnmazig formaat in JSON- of XML-indeling. Een goed voorbeeld is te vinden in georuimtelijke vragen. Het specificeren van een selectiekader van een gebied dat u wilt laten zoeken, wordt meestal het beste gedaan op een kaart, door een kader te tekenen in plaats van coördinaten in te voeren in een vrije-tekst zoekbalk.
Mensen maken steeds meer gebruik van georuimtelijke query's om hun zoekopdrachten te beperken, waaronder:
-
Point: Komt overeen met een exact punt.
-
Puntradius: Komt overeen binnen een afstand van een punt (een cirkelvormig gebied).
-
Begrenzingsvak: komt overeen met een vierkant gebied (zoals in het weergegeven gebied van een kaart).
-
Polygoon: Komt overeen met een vrije of onregelmatige vorm. Een goed voorbeeld is de vorm van een provincie of staat. Dit zijn in feite grote reeksen coördinaten binnen een gebied.
-
Polygoon-polygoon snijpunt: Komt overeen met polygonen binnen records (in tegenstelling tot punten binnen records zoals in de voorgaande querytypen) met een query-polygoon. Raakt de queryveelhoek degene in een record, of houdt deze deze volledig tegen, of mist hij deze volledig? Dit type query vereist veel verwerking en wordt niet breed ondersteund, maar wel nodig in de defensie-industrie. Het is belangrijk op te merken dat Geospatial-query's sterk afhankelijk zijn van complexe wiskunde over hoe een bepaald coördinaten-referentiesysteem (een CRS genoemd) de wereld vertegenwoordigt. GPS-apparaten gebruiken bijvoorbeeld een systeem met de naam WGS84 (ook wel EPSG: 4326 genoemd), terwijl online kaarten het EPSS: 900916 CRS-systeem gebruiken. Bewust zijn van hoe een database zijn geospatiale gegevens en de noodzakelijke conversies opslaat is erg belangrijk; anders krijgt u mogelijk helemaal geen overeenkomst of bent u enkele honderden meters verwijderd van uw beoogde resultaat.
Sommige zoekmachines ondersteunen ook methoden waarmee gebruikers hun zoekopdrachten kunnen invoeren. Dit komt het meest voor de hand in de autocomplete-functionaliteit van Google. U begint een zoekopdracht te typen en Google stelt de meest waarschijnlijke query's voor waaruit u kunt kiezen. Veel zoekmachines ondersteunen dezelfde functionaliteit.
Er zijn nog veel meer zoekfuncties beschikbaar, dus zorg ervoor dat u eerst onderzoek doet voordat u een zoekmachine selecteert.