【问题标题】:Order by field in Spinx search with Yii and PHP使用 Yii 和 PHP 在 Spinx 搜索中按字段排序
【发布时间】:2015-04-06 11:51:28
【问题描述】:

Helo,我是 Sphinx 搜索的新手。我想获取按 first_name 排序的所有行,但没有发生。这是我的源文件:

return
"source instructorSourse: _CONNECT_NAME_
{
sql_range_step = 1000
sql_query = SELECT id, first_name, last_name, country_id, city_id,    is_banned, is_deleted, is_confirmed, dive_level as dive_level, UNIX_TIMESTAMP(last_activity) AS last_activity \
    FROM user AS u \
    WHERE dive_level = 'instructor'  \
    ORDER BY first_name DESC
    sql_attr_bigint = country_id
    sql_attr_bigint = city_id
    sql_attr_bool = is_banned
    sql_attr_bool = is_deleted  
    sql_attr_bool = is_confirmed        
    sql_attr_timestamp = last_activity
   }";

但它仍然返回没有顺序的行。我做错了什么?

【问题讨论】:

    标签: php mysql indexing yii sphinx


    【解决方案1】:

    sql_query 只是将数据发送到索引器,无论您使用什么顺序,索引器都会重新排序以构建索引。

    为了能够订购结果,您需要确保列存储在索引中 - 作为属性。 (在您的示例中,您可以通过 last_activity 作为其属性来排序结果)

    所以你需要在属性上设置last_namesql_attr_string 可能有用,但sql_field_string 可能更好,因为它同时使stringattribute

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-07
      • 2023-04-02
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 2018-10-14
      • 1970-01-01
      相关资源
      最近更新 更多