Ich habe eine ASP.NET MVC-Anwendung mit MVC 2.0 und Fluent NHibernate (aus bestimmten Gründen versteckt hinter Repositories) erstellt. Die Anwendung stellt eine recht komplexe Domäne mit verschiedenen Objekten wie Benutzern, Nachrichten, Kommentaren, Dateien und Terminen dar.Was ist der beste Weg, um eine Volltextsuche für eine ASP.NET MVC-Anwendung zu implementieren?
Jetzt möchte ich eine Volltextsuche implementieren, die es dem Benutzer ermöglicht, einfach alle Arten von Inhalten zu finden, indem er einfach einen Suchbegriff eingibt. Wenn ich alle Arten von verschiedenen Objekten in der Anwendung separat handhabe, muss ich sie jetzt für die Suche "zusammensetzen". Das heißt, der Benutzer unterscheidet nicht zwischen den verschiedenen Typen, er gibt nur "xyz" ein und möchte Ergebnisse in einer Liste erhalten, Kommentare mit Nachrichten vermischt.
Option 1 besteht darin, einen Suchdienst zu erstellen, der die Suche abruft Ergebnis aus den verschiedenen Repositories und bereitet die kombinierte Ausgabe vor (Sortieren, Paging etc.). Aber das ist wirklich, wirklich teuer, wenn die Daten dahinter wachsen (und es wird wachsen).
So suche ich nach einer alternativen Lösung. Derzeit arbeite ich mit SQL Server 2008. Was ich gefunden habe, ist lucene.net (http://lucene.apache.org/lucene.net/), aber ich habe noch nicht viel Zeit investiert.
Irgendwelche Vorschläge?
Es ist sogar 100% der Daten von SQL Server. Du hast also recht, ich nehme einfach den guten alten Weg, vielleicht sogar mit einer gespeicherten Prozedur oder einfach ADO.NET - zum Glück benutze ich immer noch Repositories. –