我正在寻找狮身人面像和思维狮身人面像,我需要你的意见和帮助,我想要做的是以下几点:思维狮身人面像:sort_mode =>:time_segments或:sort_mode =>:expr与@ weight * created_at?
我有一个新闻列表(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
非常感谢你Pat你真的拿出了一些疑惑,这个time_segments排序mod完全适合。 你知道我必须做什么才能使用time_segments的相同脚本,但仍然匹配某个字段(为什么不试试@weight + views有一天呢?哈哈哈),就像Pete Spicer在本次讨论中所说:[http://sphinxsearch .com/forum/view.html?id = 3537) 我不知道如何使用思维 - 狮身人面像来做这件事,所以你写了一些关于它的东西,或者你有我遵循的一些教程吗?谢谢。 – 2013-05-02 16:04:47
感谢您的帮助,我不能肯定您,因为我的帐户是新的,但非常感谢。 – 2013-05-23 19:07:33
你应该能够接受答案吗?另外:要使用Pete Spicer建议的内容,请将其长表达式(IF ...)作为字符串传递给:order,并将sort_mode设置为:expr。 – pat 2013-05-24 02:45:25