T
T
test11112016-04-05 13:14:07
Sphinx
test1111, 2016-04-05 13:14:07

Sphinx: How to change default ranking method?

There is a table with movie titles (movie_id, title) one movie can have several titles (in different languages). I need to implement a full text search on all its titles, movies with the same relevance are further sorted by date.
I am currently using Sphinx and doing this:
sql_joined_field = all_movie_titles from query; select movie_id as id, title from tbl_movie_titles order by movie_id
This is the only field that is searched.
As I understand it, Sphinx looks for occurrences of the key phrase in each movie title and puts a weight on the number of these occurrences, but some films may have 2 titles, and some may have 10. some keywords are often duplicated in different titles of the same movie, it turns out that out of two equally relevant movies, one is more relevant due to the fact that it has more titles and, accordingly, more occurrences of the keyword.
I tried to use different rankers, everywhere it turns out badly.
How to make it so that sphinx does not calculate the weight of the movie for all titles, but separately finds the weight for each title and sets the highest weight as the final one?
Or with what and how can this be implemented on another engine, for example, using elastic search?
Thanks in advance

Answer the question

In order to leave comments, you need to log in

2 answer(s)
P
Puma Thailand, 2016-04-05
@test1111

store names for different languages ​​in different fields and separately search for them and rank them yourself.

X
xmoonlight, 2017-05-10
@xmoonlight

I agree with Puma Thailand !
You can use the approach from here , which gives a better result (based on the DEMO example).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question