【发布时间】:2016-08-05 18:19:31
【问题描述】:
我一直遇到 Thinking Sphinx 的查询生成问题。我会输入一个查询,如“杰克|“豆茎”|吉尔|杰弗里”,而不是预期的快速索引循环,我得到的是慢速 SQL 查询:
SELECT table.id, table.FullName FROM
tableWHERE (LOWER(table.FullName) LIKE '%jack or \"the bean stalk\" or jill or jeffrey%') ORDER BY table.FullName ASC LIMIT 10
这个查询很奇怪,原因有很多。首先,不是布尔查找,而是查询的混杂版本的通配符查找。其次,当我请求其他字段按(姓氏)排序时,它正在搜索按全名排序。
我知道 Thinking Sphinx 会绕过它的索引并在对未指定的列进行排序时进入本地 SQL 查询:sortable => true,并且它会在不是字符串的列上这样做。但是这里也不是这样。
为什么要使用原生 SQL?
【问题讨论】:
标签: ruby-on-rails thinking-sphinx