狮身人面像排序问题?

发布于 2024-11-03 00:40:43 字数 818 浏览 4 评论 0原文

我正在使用 1.10 sphinx。

source tags
{
    type                            = mysql
    sql_host                        = localhost
    sql_user                        = abc
    sql_pass                        = 123456
    sql_db                          = company
    sql_sock                        =  /var/lib/mysql/mysql.sock
    sql_port                        = 3306

     sql_query_pre = SET NAMES utf8
     sql_query_range        = SELECT 1,max(id) FROM companies

sql_query                       = \
        SELECT id,name FROM companies;
;
      sql_attr_str2ordinal = name  

}

这是按名称排序的,但我正在检索数据。 结果集是 [name] =>;第954章 ……就这样来了。

sql_attr_str2ordinal = name 在使用这个之前,我使用 sql_field_string = name that name 是检索但不按名称排序。 有什么解决办法吗?

i am using 1.10 sphinx.

source tags
{
    type                            = mysql
    sql_host                        = localhost
    sql_user                        = abc
    sql_pass                        = 123456
    sql_db                          = company
    sql_sock                        =  /var/lib/mysql/mysql.sock
    sql_port                        = 3306

     sql_query_pre = SET NAMES utf8
     sql_query_range        = SELECT 1,max(id) FROM companies

sql_query                       = \
        SELECT id,name FROM companies;
;
      sql_attr_str2ordinal = name  

}

this is sorted by name but i am retriving data.
the result set is [name] => 954 ...... like this coming .

sql_attr_str2ordinal = name before use this i am using sql_field_string = name that name is retrive but not sort by name.
what is the solution for this?

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

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

发布评论

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

评论(1

世界等同你 2024-11-10 00:40:43

sql_attr_str2ordinal

不存储值仅存储排序顺序(索引后的序数)。所以你无法从中获得价值。

sql_field_string

全文字段但缺乏排序(因为它不是一个属性)。

sql_attr_string

缺少全文索引。

所以我要做的是:

source tags
{
    type                            = mysql
    sql_host                        = localhost
    sql_user                        = abc
    sql_pass                        = 123456
    sql_db                          = company
    sql_sock                        =  /var/lib/mysql/mysql.sock
    sql_port                        = 3306

     sql_query_pre = SET NAMES utf8
     sql_query_range        = SELECT 1,max(id) FROM companies

     sql_query                       = \
        SELECT id,name as name_ordinal, name as name FROM companies;
     sql_attr_str2ordinal = name_ordinal
     sql_field_string = name


}

然后按 name_ordinal 排序并使用 name 查询

sql_attr_str2ordinal :

Does not stores the value only stores the sort order (ordinal) after indexing. so you can not the value from it.

sql_field_string :

full-text field but lacks sorting (since its not an attribute).

sql_attr_string :

lacks full-text index.

So what I would do is :

source tags
{
    type                            = mysql
    sql_host                        = localhost
    sql_user                        = abc
    sql_pass                        = 123456
    sql_db                          = company
    sql_sock                        =  /var/lib/mysql/mysql.sock
    sql_port                        = 3306

     sql_query_pre = SET NAMES utf8
     sql_query_range        = SELECT 1,max(id) FROM companies

     sql_query                       = \
        SELECT id,name as name_ordinal, name as name FROM companies;
     sql_attr_str2ordinal = name_ordinal
     sql_field_string = name


}

Then sort by name_ordinal and query with name

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