Ich möchte eine Relevanzbasierte Textsuche in News-Text implementieren. Hier ist die Anforderung.
Eine Tabelle enthält den Nachrichtentext in einer Oracle-Tabellenspalte vom Typ CLOB. Die Suche ruft den Nachrichtenartikel basierend auf der Relevanz des vom Benutzer eingegebenen Werts in absteigender Reihenfolge ab. z.B. Benutzer gibt einen Suchtext ein, "Grand-Slam-Turnier". Die Anwendung gibt alle Nachrichtenartikel zurück, die eines oder mehrere dieser 3 Schlüsselwörter in dieser Reihenfolge enthalten,
LIKE-Suche wird aufgrund des hohen Datenvolumens und des langen Texts langsam sein
Kann dies mithilfe der Oracle TEXT-Suchfunktionen von Oracle 11g implementiert werden?
Das mag etwas offtopic sein, aber abhängig von Ihrer Umgebung (und wenn Sie nicht rein mit der Datenbank verbunden sind), haben wir festgestellt, dass etwas wie ein SOLR-Server (oder lucene-App wie Winterschlafsuche) besser funktioniert bessere Relevanz und ist konfigurierbarer als die meisten DB's.
Nach meiner Erfahrung haben wir mysql, um dies mit der Volltextsuche zu tun, aber es hat nie wirklich so funktioniert, wie wir es wollten.
Ich bin zwar nicht gut mit Oracle, aber nach bestem Wissen erfordert der Text-Datentyp die Verwendung von contains-Schlüsselwort und Text-Datentypen, die indiziert werden sollten, um eine verbesserte Suchleistung zu bieten.
Siehe oracle docs für die Verwendung des neuen full Textsuche