ThinkingSphinx:如何获取sphinxql SQL表达式?

时间:2016-12-23 00:58:01

标签: thinking-sphinx

pancakes = Article.search 'pancakes'

然后我如何获得最终的sphinxql表达式? 是否可以在不执行查询的情况下检索表达式?

1 个答案:

答案 0 :(得分:1)

Patgithub上回答:

  

要查找SphinxQL语句,您可以执行以下操作:

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

但是,如果你想在没有实际发送查询的情况下得到它   Sphinx,您希望通过更小的中间件发送   堆栈:

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选项作为其中一部分   搜索选项而不是在搜索对象上调用populate,   保存一行代码。 TS搜索结果被延迟加载,因此   在访问上下文数据时需要这样做。