Många NoSQL-databaser stöder sökfunktioner och vissa sökfunktioner. Att välja den rätta kommer ofta till att förstå de funktioner du behöver stödja.
Även om de är relaterade, är frågan och sökningen helt annorlunda. En fråga returnerar bara resultaten som matchar alla villkor i den. Sök kan däremot innehålla valfria villkor och ger vanligtvis resultat som ordnas av en relevansberäkning.
Relevansberäkningar möjliggör många mer flexibla sökinteraktioner. Användarna som gör sökningarna gör det slutliga samtalet om vilket resultat som är en match för dem - sökmotorn ger bara beställda tips.
Både sök och fråga gör det möjligt att exakt värdera matchnings- och intervallfrågor - till exempel, där ett datumfältvärde i en post ligger mellan två värden. Räckviddsfrågor stöds inte av många NoSQL-databaser eller sökmotorer, så om du behöver dem, var noga med att kontrollera detta tidigt i urvalsprocessen.
De flesta sökmotorerna är utformade för att söka hela poster och för att begränsa sökfrågorna till specifika fält (t.ex. ett "publicerat" datum). Vanligtvis finns flera frågeformulärsmetoder tillgängliga, inklusive dessa:
-
Ordfråga, där varje ord är ELLER "tillsammans": Så "adam fowler blog" utvärderas som adam ELLER fowler ELLER blogg, med en matchning av alla ord, vilket resulterar i ett högre relevanspoäng än att använda bara ett av orden.
-
Frasfråga, där hela frasen behandlas som en: Så "av möss och män" utvärderas så att resultatet måste ha alla orden i samma ordning som en match.
-
Wildcard: Söker efter "run *" returnerar resultat för "run," "runs," "running" och "runner. "
-
Stemming: En sökning på" run "returnerar också resultat för" spår "och" kör "men inte" springer "eller" springer ". söker efter "katt" returnerar också resultat för "katter". "
-
Lemmatization: Detta är mer avancerad metod än avstämning. Till exempel resulterar lemmatisering av termen "bättre" i dess lemma (basen eller ordboken av ett ord), vilket i detta fall är "bra". "
De flesta föredrar att skriva sökord i en sökrutan i Google-stil eftersom den är så användarvänlig.
Sökmotorer stödjer ett textformat som heter sökgrammatik. I Google matchar exempelvis "webbplats: Storbritannien och Adam Fowler OCH London" alla dokument från Storbritannien webbplatser som nämner ordet London och frasen Adam Fowler.
Du kan också använda parenteser för att näsa termer inom termer, vilket är särskilt användbart med booleska operatörer som AND, OR och NOT.
Ibland krävs en mer strukturerad sökmekanism. Vanligtvis är detta ett skräddarsyddat och mycket finkornat format i ett JSON- eller XML-format. Ett bra exempel finns i geospatiala frågor. Att ange en avgränsningsruta i ett område som du vill att en sökning ska matcha görs oftast bäst på en karta genom att rita en ruta istället för att skriva koordinater i en frittstående sökfält.
Fler och fler använder människor geospatiala frågor för att begränsa sökningarna, inklusive följande:
-
Punkt: Matchar en exakt punkt.
-
Punktradie: Matchar inom ett avstånd av en punkt (ett cirkulärt område).
-
Bounding box: Matchar ett fyrkantigt område (som i en kartas visade område).
-
Polygon: Matchar en frihand eller oregelbunden form. Ett bra exempel är formen på ett län eller stat. Dessa är i grunden stora uppsättningar av koordinater inom ett område.
-
Polygon-polygon skärningspunkt: Matchar polygoner i poster (i motsats till punkter i poster som i föregående söktyper) med en frågepolygon. Rör frågepolygonen den i en post, eller helt innehåller den eller missar den helt? Denna typ av fråga kräver mycket behandling och stöds inte allmänt, men det behövs i försvarsindustrin.
t är viktigt att notera att geospatialfrågor är beroende av komplex matematik om hur ett visst koordinatreferenssystem (kallat CRS) representerar världen. Till exempel använder GPS-enheter ett system som heter WGS84 (även kallat EPSG: 4326), medan online kartor använder EPSG: 900916 CRS-systemet. Att vara medveten om hur en databas lagrar sina geospatialdata och nödvändiga omvandlingar är mycket viktigt. annars kan du kanske inte få en match alls eller vara flera hundra meter bort från ditt avsedda resultat.
Vissa sökmotorer stöder också metoder som hjälper användarna att skriva in sina frågor. Detta är uppenbart i Googles autofullständiga funktionalitet. Du börjar skriva en fråga och Google föreslår de mest sannolika frågorna för att du ska välja från. Många sökmotorer stödjer liknande funktioner.
Många fler sökfunktioner finns tillgängliga, så var noga med att göra din forskning innan du väljer en sökmotor.