Frage

Wir arbeiten auf Websites für unsere Kunden und wir wollen eine Suchlösung zu übernehmen, die leicht wiederverwendet werden können. Welches sollten wir nach gehen? Sollten wir verwenden Google Search API oder sollten wir verwenden MS SQL Server-Volltextindizierung und die ENTHÄLT & FREETEXT- Prädikate?

War es hilfreich?

Lösung

Wir verwenden SQL Server-Volltextindizierung hier auf Stack-Überlauf und es funktioniert recht gut - aber ich kann nur empfiehlt es für 2005 und 2008, die Versionen wir es verwenden, auf. Ich habe gehört, es ist viel schlimmer im Jahr 2000. Es gibt Macken (Stoppwort-Listen, etc.), aber nichts ernsthafte. Es ist schnell und tut, was es auf dem Zinn sagt, meistens.

Das Problem, das Sie mit contains() und freetext() laufen in ist, dass Benutzer häufig auf der „ganze Seite“ Ebene suchen erwarten, ala Google , wo alles, was auf der Seite geschrieben / Bildschirm durchsuchbar ist. Das ist nicht wirklich wie Datenbanken arbeiten, aber die Benutzer über das egal. Sie kümmern sich um Ergebnisse und haben (wohl angemessen) Erwartungen beruhen auf langjährigen Web-Suche.

Wenn Sie erwarten, dass die „ganze Seite“ Suchebene zu müssen, würde ich empfehlen, auf die Google Search API oder Lucene.NET (vorausgesetzt, Sie sind ein Microsoft-Stack basierte auf der Verwendung von SQL).

Andere Tipps

Die gute Sache über SQL Server-Volltextsuche ist die Barriere für den Eintritt recht niedrig ist (vorausgesetzt, Sie bereits SQL Server verwenden). Stackoverflow verwendet es für sie suchen ist. Der Nachteil ist, dass es die Wirksamkeit (oder deren Fehlen) ist eine der am häufigsten Merkmale kritisiert von sO. So sehr, dass eine Menge Leute (mich eingeschlossen) standardmäßig mit "site: stackoverflow.com ...". In Google

Google Custom Search hat auch eine niedrige Eintrittsbarriere, aber sie verlieren eine gewisse Kontrolle darüber, wie oft Ihre Index aktualisiert wird und wie viele Suchergebnisse, die Sie zurückkehren können. Google Site Search ist eine bessere Version, die einige dieser Funktionen (wie On-Demand-Indexierung) korrigiert.

Am oberen Ende haben Sie Google Search Appliances , das ist wirklich Ihr nur Google Option, wenn Ihre Daten nicht öffentlich ist.

Welche geeignet ist, hängt davon ab, wie oft Ihre Daten muss neu indiziert werden, wie viele Anfragen Sie machen, wie viel Bandbreite Sie verwenden immer indiziert möchten, ob Ihre Daten sind öffentlich und, wie gut Sie die Suchergebnisse sein müssen . Es gibt keine eine Antwort.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top