Я создаю поисковое приложение, используя django & sphinx.У меня работает настройка, но при поиске я получаю неуместные результаты.Вот что я делаю -
# this is in my trial_data Model
search = SphinxSearch(
index = 'trial_data trial_datastemmed',
weights = {'name': 100,},
mode = 'SPH_MATCH_ALL',
rankmode = 'SPH_RANK_BM25',
)
Когда я ищу, я получаю это (из моих пробных данных) -
from trial.models import *
res = trial_data.search.query('godfather')
for i in res: print i
3 Godfathers (7.000000)
Bonanno: A Godfather's Story (1999) (6.400000)
Disco Godfather (4.300000)
Godfather (6.100000)
Godfather: The Legend Continues (0.000000)
Herschell Gordon Lewis: The Godfather of Gore (2010) (6.900000)
Mafia: Farewell to the Godfather (0.000000)
Mumbai Godfather (2.600000)
Russian Godfathers (2005) (7.000000)
Stan Tracey: The Godfather of British Jazz (2003) (6.200000)
The Black Godfather (3.500000)
The Burglar's Godfather (0.000000)
The Fairy Godfather (0.000000)
The Fairy Godfather (0.000000)
The Godfather (9.200000)
The Godfather (1991) (6.400000)
проблема заключается вНаиболее значимый результат для «крестного отца» показан на 19-й позиции.Все лучшие результаты являются нежелательными.Как я могу order
или sort
мои результаты, используя Django-sphinx
.
Скорее, что я могу сделать, чтобы сделать результаты более релевантными с помощью этой настройки.
ПРИМЕЧАНИЕ: Я использую python 2.6.x + django 1.2.x + sphinx 0.99 + django-sphinx 2.3.3 + mysql
Кроме того, данные я настраиваемыесделал & только около 100 строк с одним полем name
для поиска.Есть еще одно поле rating
(это то, что вы видите в скобках).rating
поле является атрибутом (без возможности поиска).