2009-07-08 12 views
2

Ich habe eine ASP-Webanwendung geschrieben in C# mit einer SQL Server 2008-Datenbank. Die Datenbank enthält Ereignisse mit Informationen über eine Anzahl von Tischen, wie z. B. Ereignis, Ort, Stadt und Bands..Net und SQL-Server Suche

In der idealen Welt möchte ich, dass meine Benutzer eine natürliche Abfrage Abfrage in einem einzigen Suchfeld nach dem Motto "The Who in Brisbane" eingeben. Ich habe jedoch nicht viel Zeit, um dies auszugeben, also bin ich offen für einfachere Vorschläge.

Nach dem Kämpfen um Informationen über die Volltextsuche in SQL-Server zu finden, frage ich, ist dies die beste Option zu verwenden oder gibt es bessere/leichtere Methoden da draußen?

Antwort

2

Ich würde sagen, wenn Sie nach einer schnell zu entwickelnden Lösung suchen, ist kostenlose Textsuche wahrscheinlich der Weg nach vorne. Sie könnten eine Ansicht mit all Ihren Joins erstellen, diese indizieren und dann die Freitextsuche verwenden.

Was es nicht tun wird, ist die natürliche Suche, so in Ihrem Beispiel eine Band namens Brisbane spielt in wer würde zurückgegeben werden. Das Schreiben einer natürlichen Suche könnte schnell kompliziert werden.

Vielleicht machen Sie aus Gründen der Einfachheit eine Reihe von Feldern wie x spielt in x bei x und default für jeden, der an einem beliebigen Ort spielt, und sucht nur nach der Band, Stadt oder Veranstaltungsort, wenn sie etwas anderes eingeben .

+0

Ja das ist die Art von Dingen, die ich suchte. –

0

"English Query" wurde in SQL Server 2000 integriert, ist jedoch seither in Vergessenheit geraten. Ich denke nicht, dass es irgendeinen Standard gibt, um Anfragen in natürlicher Sprache zu stellen. Es gibt products out there, aber wie Sie sich vorstellen können, ist es kein einfaches Problem.

Wenn Sie etwas "einfacheres" tun möchten, versuchen Sie es und geben Sie einige vordefinierte Abfragen, die der Benutzer auswählen kann. Etwas wie ...

Wer lebt in [Dropdown der Städte]?

Das funktioniert nur, wenn Sie die gemeinsamen Anforderungen antizipieren können.