Ich versuche eine Webanwendung in ASP.NET MVC zu erstellen und muss eine ziemlich komplexe Suchfunktion erstellen. Wenn ein Benutzer einen Suchbegriff eingibt, möchte ich eine Vielzahl von Datenquellen durchsuchen, die Dokumente, Tabellen in der Datenbank, Webseiten-URLs und einige APIs wie Facebook enthalten. Alle Tipps, Tutorials und Hinweise würden sehr geschätzt werden.
Ihre Frage legt nahe, dass Sie wahrscheinlich nicht die gesamte Funktion von Grund auf neu implementieren möchten. Hier finden Sie einige nützliche Links.
Eine (einfachste) Option wäre die Verwendung einer Suchmaschine eines Drittanbieters (z. B. Google Benutzerdefinierte Suche ) , aber Bing hat wahrscheinlich eine ähnliche API). Auf diese Weise können Sie (nur) Ihre Seite mit Google durchsuchen und die Ergebnisse individuell anzeigen. Die Einschränkung besteht darin, dass nur die auf einigen (verknüpften) Seiten angezeigten Daten durchsucht werden.
Ein ausgefeilterer Ansatz besteht darin, eine .NET-Bibliothek zu verwenden, die die Indizierung für Sie implementiert (basierend auf den Daten, die Sie angeben). Eine beliebte Bibliothek ist zum Beispiel Lucene.Net . In diesem Fall geben Sie ihm die Daten, die Sie explizit durchsuchen möchten (relevanter Inhalt von Webseiten, Datenbankinhalt usw.), so dass Sie mehr Kontrolle darüber haben, was gesucht wird (aber es ist ein bisschen mehr Arbeit).
Das Erstellen der eigentlichen Suchindexstrukturen und -algorithmen ist keine triviale Aufgabe. Deshalb verwenden Leute Lucene, Sphinx, Solr, etc. Wie in den Kommentaren empfohlen, wird google.com Ihnen keine Kontrolle und schlechte Anpassung geben, verglichen mit dem, was Sie von einer dieser kostenlosen Suchmaschinen erhalten, wenn sie richtig konfiguriert sind verwendet.
Ich empfehle, Solr zu betrachten, es gibt Ihnen die Macht von Lucene, aber es ist viel einfacher zu benutzen, plus es Fügt mehrere Komfortfunktionen wie Caching, Sharding, Facettierung, etc. hinzu.
SolrNet ist ein Solr-Client für .Net. Er enthält eine ASP.NET MVC-Beispielanwendung, die Sie verwenden können um zu sehen, wie es funktioniert und als Grundlage für Ihr Projekt.
Disclaimer: Ich bin der Autor von SolrNet.
Ich habe eine benutzerdefinierte Suchmaschine für meine MVC 4-Site geschrieben. Es analysiert die View-Verzeichnisse und liest alle .cshtml-Dateien, wobei die angegebenen Ausdrücke mit einem regulären Ausdruck übereinstimmen. Hier ist der Grundcode:
%Vor%Tags und Links asp.net-mvc c# search