【问题标题】:ThinkingSphinx: How to get the sphinxql SQL expression?ThinkingSphinx:如何获取 sphinxql SQL 表达式?
【发布时间】:2016-12-23 00:58:00
【问题描述】:

pancakes = Article.search 'pancakes'

然后我将如何获得生成的底层 sphinxql 表达式? 是否可以只检索表达式而不执行查询?

【问题讨论】:

    标签: thinking-sphinx


    【解决方案1】:

    Patgithub 上回答:

    要查找 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 搜索结果是延迟加载的,因此 访问上下文数据时需要这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-03
      • 2022-09-27
      相关资源
      最近更新 更多