Gibt es ein gutes Tag-Suchsystem, das ich in meinem C# .NET-Prototyp verwenden kann, der auch auf ASP.NET ausgeführt wird?Tag-System mit der Suche nach .NET (und ASP.NET)
Antwort
Wenn Sie "Tag-Suchsystem" sagen, gehe ich davon aus, dass Sie die Fähigkeit in einem sozialen Netzwerk meinen Benutzern erlauben, Inhalte zu taggen und dadurch die Dinge, die auf Ihrer Website am beliebtesten sind, durch ein Tag zu sprudeln Wolke. Außerdem können Ihre Nutzer über getaggte Inhalte usw. navigieren.
Ich mag es, eine SystemObjects-Tabelle zu erstellen, die die verschiedenen Tabellen in meinem System enthält, auf die Tags angewendet werden können (oder Kommentare oder Bewertungen usw.). Dadurch kann ich ein generisches Tagging-System verwenden, das meinen gesamten Bereich umfasst Datenbank. Dann hätte ich auch eine SystemObjectTags-Tabelle, die einen Verweis auf die SystemObjectID hätte (mir sagen würde, welche Tabelle den Datensatz hat, an dem ich interessiert bin) sowie die SystemObjectRecordID (die mir sagt, an welchem spezifischen Datensatz ich interessiert bin). Von dort habe ich alle meine Detaildaten in Bezug auf die Tags und was wurde markiert. Ich möchte dann eine laufende Liste der Tag-spezifischen Informationen in einer Tags-Tabelle führen, die das eindeutige Tag (String-Wert eines Tags) die TagID (die die SystemObjectTags-Tabelle verweist), die Anzahl der Tags-Verwendung über das System (a summierter Wert aller Verwendungen) usw. Wenn Sie eine Website mit hohem Datenverkehr haben, sollten diese Daten in Ihrem Cache gespeichert werden, damit Sie die Daten nicht zu häufig treffen.
Mit diesem Subsystem können Sie dann zu den Suchfunktionen wechseln. Sie haben alle Daten, die Sie mit diesen drei Tabellen benötigen, um leicht Filterung, Suche usw. durchführen zu können. Sie könnten jedoch feststellen, dass hier so viele Daten vorhanden sind und dass die Tabellen so generisch sind, dass Ihre Suchen nicht so sind schnell wie eine optimierte Tabellenstruktur sein könnte. Aus diesem Grund schlage ich vor, dass Sie einen Lucene.NET-Index verwenden, um alle Ihre durchsuchbaren Daten zu speichern. Lucene.NET bietet eine sehr schnelle Lesezeit und bietet viel mehr Flexibilität in Suchalgorithmen als SQL Server Freetext.
Dies würde Ihnen dann ermöglichen, die Filterung Ihrer Inhalte durch Tags, die Suche nach Inhalt nach Tag, Tag-Zahlen, etc. Lucene.net ist ein großes unheimliches Thema obwohl! Bereiten Sie sich darauf vor, etwas zu lesen, um Ihre Grundlagen zu hinterfragen.
Die Methode @Andrew erklärt wird auch in seinem Buch ASP.NET Social Networking Kapitel 11 beschrieben. Andrew auf Seite 333 in dem Codebeispiel GetSystemObjectSpecificTags, ist diese Methode innerhalb des Tags Repository? –
Ich würde wahrscheinlich noch einmal untersuchen, wie das ganze System an diesem Punkt funktioniert. Werfen Sie einen Blick auf CQRS, DDDD (ja ein viertes D) und Ereignisspeicher. Außerdem - schauen Sie nach, was ein Denormalizer ist und wie er eine Leseschicht korrigieren könnte. –
Eine Option, die wir verwenden, besteht darin, unsere "Tags" in die Meta-Schlüsselwörter auf der Seite einzufügen, und dann verwenden wir Bing für unsere Suche.
http://msdn.microsoft.com/en-us/library/dd251056.aspx
Unser Architekt hat es am besten. "Lassen Sie die Suchmaschinen tun, was sie am besten können. Suche."
Sie können die Suche nur auf Ihre Website beschränken, die Ergebnisse zurückziehen und sie selbst anzeigen ... auf Ihrer eigenen Seite mit Ihrer eigenen Formatierung.
Der einzige Nachteil besteht darin, dass Sie Ihre Suche nicht vollständig testen können, bis Ihre Website aktiv und indexiert ist.
- 1. asp.net Suche nach Datei
- 2. Suche nach der besten Asp.net Umfrage Anwendung
- 3. Suche nach alten .Net Libraries
- 4. die Suche nach einem .Net ORM
- 5. ASP.NET Suche nach mehreren Parametern
- 6. .Net und SQL-Server Suche
- 7. .NET-Anwendung - Suche Problem
- 8. Auf der Suche nach einem .NET Configuration Framework
- 9. Auf der Suche nach einem .NET "Text" -Editor Steuerelement
- 10. Suche nach Kontakten in ActiveDirectory (.NET)
- 11. Auf der Suche nach .NET Assembly an einem anderen Ort
- 12. Suche nach ASP.NET (MVC, AJAX) Image Manager
- 13. Suche mit Knockout.Js mit ASP.Net
- 14. Suche nach Microsoft Index Server ASP.NET Samples
- 15. Und/oder Schlüsselwort bei der Suche mit ASP.NET
- 16. Auf der Suche nach Anleitung zur Datenbindung in ASP.NET-Detailformularen
- 17. ASP.NET EF LINQ - Suche nach Tags
- 18. ASP.NET jQuery AutoComplete - Textfeld reagiert nicht nach der ersten Suche
- 19. Suchleiste Suche nach Produktname in asp.net
- 20. Suche nach der größeren und kleineren Nummer
- 21. Suche nach ASP.NET (MVC 3) forum engine
- 22. .NET Grid mit Paging - Suche und blättern zum Ergebnis
- 23. die Suche nach statischem-Code-Review-System für .NET MVC
- 24. Suche nach Wurzeln einer Funktion mit binärer Suche und Rekursion
- 25. ORM für ASP.net, ORACLE, auf der Suche nach einer Lösung
- 26. Suche nach Orientierung mit getRotationMatrix() und getOrientation()
- 27. Suche nach Durchschnitt mit reduzieren und sammeln
- 28. Suche nach Nullen der Gleichung mit Python
- 29. Suche nach einem Code-Analyse-Tool für ASP.Net
- 30. Suche nach '.' mit string.find()
Tag kann viele verschiedene Dinge bedeuten. Kannst du mehr Details darüber geben, wonach du suchst? –