Ich habe eine Tabelle von Filmen (movie_id, Titel), ein Film kann viele Titel (verschiedene Sprachen) haben. Ich möchte die Volltextsuche nach allen Titeln implementieren, dann sollten Filme mit der gleichen Relevanz nach Datum sortiert werden. Jetzt bin ich mit Sphinx und tun dies:Sphinx: Wie kann ich die Standard-Ranking-Methode ändern?
sql_joined_field = all_movie_titles from query; select movie_id as id, title from tbl_movie_titles order by movie_id
Es ist das einzige Feld, das für die Suche verwendet Wie ich verstehe, auf diese Weise Sphinx Suche Spiele von Keyword in jedem Titel eines Films, aber einige Filme haben 2 Titel, während ein anderer, zum Beispiel 10. Aufgrund der Schlüsselwörter oft in verschiedenen Titeln eines Films Duplikate berechnet Sphinx Ergebnis Relevanz Gewicht hängt von Übereinstimmungen in allen Titeln eines Films ab. Aus diesem Grund haben zwei Filme, die die gleiche Relevanz haben sollten, unterschiedliche Gewichte. Ich habe versucht, verschiedene Rangers zu verwenden, aber die Ergebnisse sind sowieso schlecht. Wie kann ich Sphinx dazu bringen, Gewicht für jeden Titel eines Films unabhängig zu berechnen und dann den höchsten zu nehmen? Wenn diese Aufgabe einfacher durch eine andere Suchmaschine gelöst werden kann, wie elasticsearch mir sagt. Dank