2016-08-05 73 views
0

我一直在思考思維獅身人面像查詢一代的問題。我會輸入一個類似'「jack |」bean stalk「| jill | jeffrey」的查詢,而不是預期的快速索引循環,我會得到緩慢的SQL查詢:Thinking Sphinx的奇怪查詢

SELECT table.id,table。全名FROM table WHERE (LOWER(table.FullName)LIKE '%插孔或\ 「豆稈\」 或吉爾或 傑弗裏%')ORDER BY table.FullName ASC LIMIT 10

該查詢怪原因有很多。首先,我不使用布爾查找,而是查詢錯誤版本的通配符。其次,它是按FullName排序的搜索,當我請求其他字段按(姓氏)排序時。

我知道思維獅身人面像將繞過其索引,並在對未指定的列進行排序時放入本機SQL查詢:sortable => true,並且它將在不是字符串的列上執行此操作。然而,這裏的情況也不例外。

它爲什麼會落入本機SQL?

回答

0

我絕對相信思維獅身人面像不是在進行SQL查詢。我想知道:你是否有其他的寶石(在你的Gemfile中,或者作爲其他寶石的依賴項?),添加了可能妨礙搜索功能的搜索功能?例如,我知道activeadminmeta_search有依賴。

解決此

一種可能的方式是有activeadmin(或其他寶石是造成這個問題)thinking-sphinx在你的Gemfile(上市前,因此,TS被加載後,並插入search方法,你是期待)。