Implementieren eines Suchfelds mit ASP.NET MVC, SQL Server, Entity Framework

asp.net asp.net-mvc entity-framework search

Frage

Ich habe keine Erfahrung mit dem Aufbau einer Suchlösung, aber ich hätte gerne ein Suchfeld in meiner Lösung und weiß nicht, wo ich überhaupt anfangen soll. Gibt es coole SQL Server-Tricks, die ich verwenden kann, um meine Suchlösung performant zu machen (ich verwende einen gehosteten SQL 2008-Server)? .und dann Schichten zu weiterentwickeltem Code und Funktionen.

Beliebte Antwort

Sie sagen nicht wirklich, ob Sie eine "Spinne" benötigen, um Ihre Website "wie sie ist" zu indizieren (wie Google; was nützlich ist, wenn Ihr durchsuchbarer Inhalt auf jeder Seite aus vielen verschiedenen Tabellen / Objekten / Entitäten stammt) oder ob Sie Sie möchten EF nur mit einer Volltextsuche-ähnlichen Syntax abfragen, um eine Sammlung von Entitäten zurückzugeben?

Wenn Sie sich für den "Spider" -Ansatz interessieren, finden Sie hier einen CodeProject-Artikel für eine kleine ASP.NET-Suchmaschine " Searcharoo ". Es handelt sich um eine Web-Crawler-Suchmaschine für Small-ish-Websites (es wird überhaupt keine Datenbank verwendet). Daher ist sie möglicherweise nicht auf Ihre Situation anwendbar. Der Code ist auch auf searcharoo.codeplex.com und es gibt 7 Artikel darüber, wie es funktioniert / wurde auf Searcharoo.net erstellt (Disclaimer: Ich habe sie geschrieben; ich hoffe, sie sind interessant / nützlich).

Wenn Sie Ihre Datenbank direkt durchsuchen müssen, sollten Sie wahrscheinlich die Volltextsuchfunktion von SQL Server 2008 LIKE (vorausgesetzt, LIKE ist für Ihre Anforderungen nicht ausgereift genug). Wir haben die Informationen aus diesem Artikel (kostenlose Registrierung) verwendet , um die SQL-Volltextsuche für ein Arbeitsprojekt einzurichten ... jedoch keine EF in unserer Lösung.

Wie Sie vielleicht wissen, wurde StackOverflow mit ASP.NET MVC erstellt - es wurde über einige Probleme mit SQL 2008 FTS berichtet . Es gibt auch einige Informationen zu SQL FTS im Vergleich zu Lucene.NET (eine andere Suchmaschine, die Sie recherchieren könnten), die nützlich sein könnte.



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum