2016-12-23 8 views

ответ

1

Ответил Pat на github:

Чтобы найти заявление SphinxQL, вы можете сделать следующее:

pancakes = Article.search 'pancakes' 
pancakes.populate 
pancakes.context[:sphinxql].to_sql 

Однако, если вы хотите получить, что без фактического отправки запроса на Сфинкс, вы захотите отправить через гораздо более минимальное промежуточное ПО стек:

middleware = ::Middleware::Builder.new do 
    use ThinkingSphinx::Middlewares::SphinxQL 
end 

pancakes = Article.search 'pancakes', :middleware => middleware 
pancakes.populate 
pancakes.context[:sphinxql].to_sql 

Вы также можете отправить опцию :populate => true через часть параметры поиска вместо того, чтобы звонить, заполнить объект поиска, , чтобы сохранить строку кода. Результаты поиска TS лениво загружаются, поэтому для доступа к контекстным данным требуется .