我正在研究 sphinx 和 thinking-sphinx,我需要你的意见和帮助,我想做的是以下几点:
我有一个新闻列表(noticias),我想按日期和相关性对结果进行排序,因为如果我搜索的内容在创建新闻时并不重要,则不会考虑查询。如果我至少可以指定更接近的年份或年份和月份具有更大的相关性,那么我的问题应该已经得到解决。
我看到了很多东西,但不是很确定,也许是因为我对狮身人面像和思考狮身人面像的经验不足。
如何解决这个问题?你认为最好的方法是什么?谢谢。
我的模型:
define_index do
indexes :titulo
indexes :chamada
indexes :texto
indexes :description
indexes :keywords
indexes :otimizador_de_busca
indexes :created_at, :sortable => true
indexes tags.nome, :as => :tag
indexes usuario.nome, :as => :autor
where "validacao = '1'"
end
我在控制器上的搜索功能:
termo = params[:termo].first(50)
@noticias = Noticia.search termo,
:field_weights => {:tag => 150, :autor => 120, :titulo => 100, :chamada => 80, :otimizador_de_busca => 65, :description => 50, :keywords => 50, :texto => 10},
:match_mode => :all,
:page => params[:pagina],
:sort_mode => :extended,
:order => "@relevance DESC, created_at DESC",
:per_page => 15