Ich möchte nach mehreren Spalten in mehreren Tabellen suchen. Wie folgt aus: Bei Tabellen:postgresql mehrere Spaltensuche mit Ranking
Benutzer id first_name last_name E-Mail
Firmen User_id Adresse
Lands Name
company_idLassen Sie uns sagen Mitglied ist Johnny Bravo (johny .bravo @ gmail.com) arbeiten in Washington in den Vereinigten Staaten. Ich möchte den Datensatz finden, basierend auf Abfrage „at“ -> aus USA oder „Rav“ von Bravo
Als ich „Rav“ mein Johnny Bravo Rang höher als Johny Bravos mit anderen E-Mails geben Sie so es ist zuerst in den Ergebnissen
Wie kann ich solche Funktionalität implementieren? Ich habe auf ts_vector und ts_rank geschaut, aber es scheint, dass es nur rechte Wildcard ("to_tsquery ('Brav: *')") funktioniert, auch brauche ich keine Volltextsuchfunktionen (ich werde suchen Adressen und Benutzernamen so keine Notwendigkeit, Alias-Namen usw.) Ich kann Wildcard-Suche tun, aber dann müsste ich Ranking in Anwendung manuell berechnen
+1 zu dieser Antwort, das einzige Ting, das ich erwähnen würde, ist, 'Ähnlichkeit()' Funktion zu verwenden, um Benutzer die relevantesten Ergebnisse zu geben. –
Einverstanden und aktualisiert. – hruske
Danke für die Antwort! Ähnlichkeitsfunktion ist nicht genau das, was ich will. Ich möchte nicht nach Rechtschreibfehlern suchen, sondern bei mehreren Wortereignissen höher rangieren. Wenn alles in Vorname, E-Mail und Firmennamen ist, ist der Rang höher. Irgendwelche Ideen, was kann ich dafür benutzen? –