代码之家  ›  专栏  ›  技术社区  ›  Mark L

斯芬克斯中全文列的排序

  •  0
  • Mark L  · 技术社区  · 17 年前

    我知道你可以在sphinx中按整数值排序,但是有没有一种方法可以让sphinx按文本字段的字母顺序排序?

    我想搜索名字,而不是按相关性排序,我想按名字的字母顺序排序。我知道我可以在MySQL中这样做,但是在MySQL中,我没有像词干这样的特性(据我所知)。

    谢谢大家!

    3 回复  |  直到 14 年前
        1
  •  2
  •   pat    16 年前

    可以将字符串用作 ordinal attributes -斯芬克斯将收集给定列的所有值,按字母顺序排序,然后给第一个值1,第二个值2,依此类推。这允许排序,但不允许过滤。

        2
  •  2
  •   Moosh    14 年前

    序数属性是easiet解决方案,如果您使用单政治索引。如果使用分布式索引,则会出现问题。但还有其他的解决办法。

    1_°将字符串转换为数值。从带有conv(十六进制(textfield),16,10)之类内容的SQL

    十六进制与字符串友好,并返回字符的十六进制值的具体列表)

    2_度,使用sphinx 2.0-x,尝试sql_string_字段

        3
  •  1
  •   Ty W    17 年前

    据我所知,除了属性(以及一些特殊属性,如@weight等),您不能对其他任何属性进行排序。目前,属性不能是字符串,但这个特性应该是0.9.10中他所说的。

    http://www.sphinxsearch.com/docs/current.html#sorting-modes