Vic*_*tor 1 ruby-on-rails thinking-sphinx
使用RoR 2.3.8.
这是我的控制器代码:
class CitiesController < ApplicationController
def show
@city = City.find(params[:id])
@shops = Shop.search @city.name, {
:conditions => {:country => @city.country && (:city => @city.name || :state => @city.state)},
:page => params[:page],
:per_page => 100
}
end
end
Run Code Online (Sandbox Code Playgroud)
该:conditions => {:country => @city.country && (:city => @city.name || :state => @city.state)}显然是行不通的,因为我只是想解释什么,我想实现的.
:city并且:state将是Spots表格中的列,而不是Cities表格.我希望结果返回其中一个满足条件.但不知道该怎么做.
谢谢.
Tass说得对 - 用你的TS搜索电话,看起来应该是这样的:
def show
@city = City.find(params[:id])
@shops = Shop.search "#{@city.name} @country #{@city.country} (@city #{@city.name} | @state #{@city.state})",
:match_mode => :extended,
:page => params[:page],
:per_page => 100
}
end
Run Code Online (Sandbox Code Playgroud)
你会注意到我已经设置了匹配模式 - 如果你正在使用:conditions参数,Thinking Sphinx会自动执行此操作- 但是在手动构建查询时,你需要自己设置它.
| 归档时间: |
|
| 查看次数: |
3039 次 |
| 最近记录: |