【发布时间】:2016-12-23 00:58:00
【问题描述】:
pancakes = Article.search 'pancakes'
然后我将如何获得生成的底层 sphinxql 表达式? 是否可以只检索表达式而不执行查询?
【问题讨论】:
标签: thinking-sphinx
pancakes = Article.search 'pancakes'
然后我将如何获得生成的底层 sphinxql 表达式? 是否可以只检索表达式而不执行查询?
【问题讨论】:
标签: thinking-sphinx
要查找 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 搜索结果是延迟加载的,因此 访问上下文数据时需要这样做。
【讨论】: