Frage

Ich bin erstellen einer Seite suchen, wo finden wir das Produkt, indem Sie den text.

ex:Bringt in der Nacht.

Meine Anfrage bringen die Aufzeichnungen enthalten mindestens Wort von diesem.

Anforderungen:1.Erste Zeile enthält den Datensatz mit dem angegebenen Satz.2.zweite Reihe neben den passenden.3.Dritte Zeile nächsten passenden ...etc

Wie Sie diese erreichen.Gibt es irgendeinen Algorithmus für diese.Es wird hilfreicher sein, wenn jemand, teilen Sie Ihre Idee.

Edit:

Beispiel Suche, Um:

1. Brings on the night
2. Whoever Brings the Night
3. Night Baseball Brings
4. Night ride
5. Night Round
6. Brings flower

Geetha

War es hilfreich?

Lösung

Haben Sie versucht, voll-text-Suche?http://msdn.microsoft.com/en-us/library/ms142583.aspx

Andere Tipps

Aufbau einer Suchmaschine ist ein sehr Komplexes Unterfangen, Umgang mit Mehrdeutigkeit der menschlichen Sprache, Tippfehler und vieles mehr.Sie sollten versuchen, zu verwenden, was mit Ihrem Datenbank-engine.SQL Server und SQLite haben Sie aus dem Karton und die meisten anderen Datenbanken haben wahrscheinlich ähnliche Funktionen.Diese Motoren sind nicht besonders gut, aber Sie sollte ausreichen für einfache Szenarien.Für mehr ernsthafte Arbeit, versuchen, Lucene, die kommt in verschiedenen Varianten für unterschiedliche Programmiersprachen.

Als eine wirklich einfache Lösung, die Sie verwenden könnte in sql WIE operator.Statt

select object_name from table_name where parameter = irgendwas

Sie würden tun

select object_name from table_name where parameter WIE etwas

Dies funktioniert möglicherweise für sehr einfache Szenarien

Einige Hinweise
- versuchen Sie Ihr RDBMS Volltextsuche oder nach Umständen zu forschen Lösungen wie Lucene/Solr
- es gibt Implementierungen Distanz (Levenshtein) in SQL, für nicht so trivial hand made ranking
- n-Gramm (bigrame, Trigramme) viel tun können, finden Sie beispielsweise alle Optionen in postgres interne Suche im Vergleich zu mysql oder MSSQL

Interne RDBMS sucht (postgres vielleicht eine Ausnahme) haben in der Regel zu wenig Optionen, die Umsetzung Ihrer eigenen ist in der Regel zu hart, oder RDBMS, das würde nicht lassen Sie es tun (effizient).

In Java müssen Sie Lucene

Es gibt auch einen port für die es in php (Zend Lucene).

Sie haben auch eine Portierung auf C# Lucene .NET

Nur durch eine änderung Ihrer db-Modelle, die Sie können integrieren es in die Suchmaschine ein.

Haben Sie einen Blick.Ich habe Lucene in der Vergangenheit und es ist immer sehr effektiv und effizient.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top