Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 斯芬克斯排序日期升序?_Sorting_Datetime_Full Text Search_Sphinx - Fatal编程技术网

Sorting 斯芬克斯排序日期升序?

Sorting 斯芬克斯排序日期升序?,sorting,datetime,full-text-search,sphinx,Sorting,Datetime,Full Text Search,Sphinx,在指定使用SPH_SORT_TIME_段的文档中,我可以对向下的时间戳进行排序,但如何对向上的时间戳进行排序?我尝试使用SPH\u SORT\u ATTR\u ASC,但结果显示为空。我使用“修改的日期”(使用sql属性时间戳)和“整数修改的日期”(使用sql属性bigint)进行了尝试,但这两种方法仍然没有显示任何结果 这是我的配置 source member_private_messages { type = mysql sql_host = 192.168.7.101 sql_user =

在指定使用SPH_SORT_TIME_段的文档中,我可以对向下的时间戳进行排序,但如何对向上的时间戳进行排序?我尝试使用SPH\u SORT\u ATTR\u ASC,但结果显示为空。我使用“修改的日期”(使用sql属性时间戳)和“整数修改的日期”(使用sql属性bigint)进行了尝试,但这两种方法仍然没有显示任何结果

这是我的配置

source member_private_messages {
type = mysql
sql_host = 192.168.7.101
sql_user = root
sql_pass = 
sql_db   = proto_db

sql_query = SELECT \
    b.message_id as primary_message_id, \
    b.message_id as message_id, \
    CONCAT(a.first_name, ' ',a.last_name) AS `from` , \
    CONCAT(c.first_name, ' ',c.last_name) AS `to` , \
    message_from_id, \
    deliver_object_id, \
    message_title, \
    message_content, \
    UNIX_TIMESTAMP(modified_date) AS modified_date, \
    UNIX_TIMESTAMP(modified_date) AS integered_modified_date \
FROM tbl_member a JOIN \
tbl_messages b JOIN \
tbl_member c ON a.register_id = b.message_from_id AND b.deliver_object_id = c.register_id

# FOR SORT BY or FILTER

sql_attr_bigint = message_id
sql_attr_bigint = message_from_id
sql_attr_bigint = deliver_object_id
sql_attr_string = message_title
sql_attr_string = message_content
sql_attr_timestamp = modified_date
sql_attr_bigint = integered_modified_date
}
这是我的php

 <?php
 require_once "sphinxapi.php";

 $client = new SphinxClient();

 $client->SetServer('localhost', 9312);
 $client->SetConnectTimeout(30);
 $client->SetArrayResult(true);

 // Sort the index
 $client->SetMatchMode(SPH_SORT_ATTR_ASC ,'modified_date'); //RETURNS NULL

 // Query the index
 $results = $client->Query('','member_private_messages_index');

 // Output the matched results in raw format
 var_dump($results['matches']);
$client->SetMatchMode(SPH_SORT_ATTR_ASC,'modified_date')//返回空值

为什么您试图通过setMatchMode定义排序模式?当然应该使用设置端口模式

顺便说一句,它不应该返回任何信息。它只是为后面的查询设置一个值

 CREATE TABLE `tbl_member` (
   `member_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `register_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   `register_type` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   `first_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   `last_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   `registration_date` datetime DEFAULT NULL,
   `verification_date` datetime DEFAULT NULL,
   `update_date` datetime DEFAULT NULL,
   PRIMARY KEY (`member_id`)
 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

 CREATE TABLE `tbl_messages` (
   `message_id` int(255) unsigned NOT NULL AUTO_INCREMENT,
   `message_from_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   `message_from_type` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   `is_public` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL,
   `message_type` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
   `deliver_object_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   `deliver_object_type` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
   `message_title` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   `message_content` blob,
   `created_date` datetime DEFAULT NULL,
   `modified_date` datetime DEFAULT NULL,
   PRIMARY KEY (`message_id`)
 ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;