【发布时间】:2016-06-07 02:18:34
【问题描述】:
在我的表定义中,我有多个 int 字段,即 id、verified(这是 int 而非 bool)和 filesize。我可以按id 排序,但无法按verified 或filesize 排序。
// Include Sphinx API file
$s = new SphinxClient;
$s->setServer("localhost", 9312);
$s->setMaxQueryTime(300);
$s->SetSortMode(SPH_SORT_EXTENDED, '@id ASC');
$result = $s->query("test");
上面的代码可以正常工作,但如果我使用$s->SetSortMode(SPH_SORT_EXTENDED, '@verified ASC'); 或$s->SetSortMode(SPH_SORT_EXTENDED, '@filesize ASC'); 则无法正常工作。
我尝试了类似的东西
$s->SetSortMode(SPH_SORT_EXTENDED, '@id ASC, @verified ASC, @filesize ASC');
而我的配置文件(部分)是这样的
sql_query = \
SELECT id, title, verified, filesize \
FROM domains
sql_attr_uint = id
sql_attr_uint = verified
sql_attr_uint = filesize
sql_query_info = SELECT * FROM documents WHERE id=$id
编辑配置文件后,我使用以下命令重新索引数据
sudo indexer item --config /etc/sphinxsearch/sphinx.conf --rotate --print-queries
然后,然后使用 sudo service sphinxsearch restart 重新启动 Sphinx,但仍然没有运气。
我需要按已验证和文件大小对结果进行排序。我怎样才能实现它?
谢谢
【问题讨论】:
标签: sorting ubuntu search-engine sphinx