2016-12-23 2 views

Antwort

1

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.