我正在研究基于Thinking Sphinx的搜索/过滤器表单。在某些Sphinx字段中查询由OR运算符连接的某些短语时,我遇到了一些困难。
一点背景:我正在索引一个名为“关键字”的字段, 其中包含以逗号分隔的关键字,其中一些是短语, 而其他人则是单一条款。我想过滤包含的项目 keyword A OR keyword B OR keyword C.
我的搜索产生了错误的结果,因为短语似乎没有得到 考虑到:
Media::Set.search "Architecture", :conditions => {:keywords =>
"\"Computer Aided Design\"|Index-Browser|\"Shape Grammar\"" }
我尝试将每个短语括在单/双中 报价有/无逃避我能想到的。
我也尝试使用Sphinx扩展查询语法,例如 这样:
Media::Set.search 'Architecture @keywords ("Computer Aided Design" |
Index-Browser | "Shape Grammar")', :match_mode => :extended
同样,我已尝试以不同方式调整语法。
关键字逐一产生以下结果:
我希望通过OR加入搜索三个关键字 运算符产生5场比赛,但我只得到一场比赛 “索引浏览器”,恰好是唯一的单个术语(无空格)。
我做错了什么?或者我误解了OR运算符是怎么回事 应该工作吗?
提前感谢任何指示,
~Andrea