Sphinx 排序模式在 PHP 中不起作用

发布于 2024-12-05 01:07:25 字数 463 浏览 2 评论 0原文

我正在使用以下代码:

include('sphinxapi.php');
$search = "John"
$s = new SphinxClient;
$s->SetServer("localhost", 9312);
$s->SetMatchMode(SPH_MATCH_EXTENDED2);
$s->SetSortMode(SPH_SORT_EXTENDED, 'name ASC');
$nameindex = $s->Query("$search");
echo $nameindex['total_found'];

这会返回一个空白页,但是如果没有 SetSortMode,它可以正常工作并返回结果数。无论我将 SetSortMode 设置为什么,它都不起作用。 关于为什么会这样的任何想法?

我正在为名为名称的列建立索引

I am using the following code:

include('sphinxapi.php');
$search = "John"
$s = new SphinxClient;
$s->SetServer("localhost", 9312);
$s->SetMatchMode(SPH_MATCH_EXTENDED2);
$s->SetSortMode(SPH_SORT_EXTENDED, 'name ASC');
$nameindex = $s->Query("$search");
echo $nameindex['total_found'];

This returns a blank page however without the SetSortMode it works fine and returns the number of results. No matter what I set the SetSortMode to it does not work. Any ideas as to why this would be?

I am indexing one column called name

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

作业与我同在 2024-12-12 01:07:25

您无法按 Sphinx 中的(普通)字段排序,只能按属性或标有 sql_field_string 设置(创建同名属性)的字段进行排序。因此,您需要添加具有同一列的属性,或者使用 sql_field_string - 它们是等效的。

另外:我已经删除了thinking-sphinx标签——你没有使用Ruby,因此也没有使用Thinking Sphinx库。

You can't sort by (normal) fields in Sphinx, only attributes, or fields marked with the sql_field_string setting (which creates an attribute of the same name). So you'll need to either add an attribute with the same column, or use sql_field_string - they're equivalent.

Also: I've removed the thinking-sphinx tag - you're not using Ruby, and thus not the Thinking Sphinx library.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文