Coolx World - Programming
Sphinx Sort (order by) (Java)
2019-09-03 14:18 - swindler
VIDEO Table의 VIEW를 order by 하기 위한 작업

query에 VIEW를 select 한다.

sql_query = SELECT ,,, A.VIEW FROM VIDEO A, CHANNEL B WHERE A.CHANNEL_SEQ=B.SEQ ORDER BY A.VIEW DESC

sql_field_string에 추가하지 않으면 desc에서 해당 필드가 나타나지 않는다.

sql_field_string = VIEW

int type의 경우는 다음과 같이 선언해야 한다.

sql_attr_bigint = VIEW


Sphinx에서는 크게 2개의 타입이 있는데 Attribute와 Field다.


Attribute : Full-Text 기능 없음. 정렬, 필터 기능 있음.
Field : Full-Text 기능을 지원.


아래와 같이 사용할 수 있다.

select * from sph_VIDEO where match ('중장비') order by weight() desc, VIEW DESC;

weight()를 사용하거나, 혹은 @relevance 로 사용하기도 한다. (툴에 따라서)




Java Client에서는 다음과 같이 사용한다.

cl.SetSortMode(SphinxClient.SPH_SORT_EXTENDED, "weight() DESC, VIEW DESC");
Copyright © 1999-2020, swindler.

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog