我知道在sphinx中可以按整数值排序,但是有没有办法让sphinx按照文本字段的字母顺序排序呢?
我想按名字搜索,而不是按相关性排序,我想按名字的字母顺序排序。我知道我可以在mysql中做到这一点,但在mysql中,我没有像词干分析这样的特性(据我所知)。
谢谢大家!
发布于 2009-09-21 17:11:34
您可以使用字符串,因为ordinal attributes - Sphinx将收集给定列的所有值,按字母顺序对它们进行排序,然后将第一个值指定为1,将第二个值指定为2,依此类推。这允许排序,但不允许过滤。
发布于 2011-11-05 17:28:54
如果使用整体索引,序数属性是最简单的解决方案。如果使用分布式索引,就会有问题。但还有其他解决方案。
1°将字符串转换为数值。来自sql,类似于conv(十六进制(文本字段),16,10)
十六进制对字符串很友好,并返回字符的十六进制值的连接列表)
2°,带sphinx 2.0-x试用sql_string_field
发布于 2009-09-21 12:38:41
据我所知,除了属性(以及一些特殊属性,如@weight等)之外,您不能按任何其他属性进行排序。目前属性不能是字符串,但根据他所说的,这个特性应该会在0.9.10中出现。
https://stackoverflow.com/questions/1454252
复制相似问题