Beantwortet von Pat auf github:
die SphinxQL Aussage zu finden, können Sie wie folgt vorgehen:
pancakes = Article.search 'pancakes'
pancakes.populate
pancakes.context[:sphinxql].to_sql
Wenn Sie jedoch, dass zu bekommen, ohne die Abfrage tatsächlich zu Senden Sphinx, werden Sie durch eine viel minimalere Middleware Stapel senden möchten:
middleware = ::Middleware::Builder.new do
use ThinkingSphinx::Middlewares::SphinxQL
end
pancakes = Article.search 'pancakes', :middleware => middleware
pancakes.populate
pancakes.context[:sphinxql].to_sql
Sie können auch die :populate => true
-Option als Teil von die Suchoptionen senden, anstatt auf das Suchobjekt aufzufüllen, um eine Codezeile zu speichern. TS-Suchergebnisse werden faul geladen, daher benötigt die dafür beim Zugriff auf die Kontextdaten.