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");
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");