in sphinx, want search rows containing keywords , sort them in specific order.
for example, search words 'dog', 'cat', 'lion' , sort in order such rows 'dog' listed first, followed rows 'cat', , 'lion'.
in sphinx, searching easy below query:
select * test_index match('test_string "dog" | "cat" | "lion"') how can sort rows in predefined order in sphinx?
you can order predefined list in sql.
complete sql:
select * test_index match('test_string "dog" | "cat" | "lion"') order case when field = 'dog' 0 when field = 'cat' 1 when field = 'lion' 2 end yes sphinx doesn't support order case. if want short in predefined order can use sph_sort_extended. example in php following:
$sph->setsortmode(sph_sort_extended, "dog, cat, lion"); example:
article.search "term", :sort_mode => :extended, :order => "project asc, company asc"
Comments
Post a Comment