2014-02-25 3 views
0

스핑크스를 사용하여 PHP 웹 사이트를 sphinxClient lib으로 만들었습니다.스핑크스 질문에서 임의의 50 행을 얻으십시오

내 스핑크스 쿼리에는 몇 가지 필터와 2500 개의 행 제한이 있습니다. 2500 행 (이하 일 수 있음)에서 50 개의 임의 행을 가져 오려고합니다.

스핑크스 만 사용하는 방법이 있습니까?

편집 : 원래 검색어는 이미 행의 인기도에 따라 분류되며, 주요 아이디어는 가장 인기있는 2500 개에서 50 개의 임의의 제품을 얻는 것입니다. 그 때문에 무작위로 정렬 할 수는 없습니다

답변

0

SPH_SORT_EXTENDED을 참조하십시오.() RAND에 의해 순서를 사용하여 문제의 50

체크 비슷한 결과이 링크를 제한하는 어떤 @random 정렬 순서

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

+0

내 원래 쿼리는 이미 행의 인기도를 기준으로 정렬되었으며, 주요 아이디어는 가장 인기있는 2500 개에서 50 개의 임의의 제품을 얻는 것입니다. – Idob

+0

음, 더 까다 롭습니다. setOuterSelect가 있습니다. 문서화되지 않았지만 sphinxapi.php에서 찾을 수 있습니다. SphinxQL로 변환 할 수있는 좋은 기회가 될 것입니다. SphinxQL은 더 강렬한 subselect로서 사용 가능합니다. – barryhunter

+0

이전 버전의 스핑크스를 사용하고 있으므로 setOuterSelect를 제공하지 않았습니다. 또한 SphinxQL을 사용할 수 없기 때문에 시스템의 많은 부분이 스핑크스에 의존했습니다. 그것을 구현하는 다른 방법이 있습니까? – Idob

0

에게 있습니다. sphinxQL fetching random?

+0

내 원래 쿼리는 이미 행의 인기도에 따라 정렬되며, 주요 아이디어는 가장 인기있는 2500 개에서 50 개의 임의의 제품을 얻는 것입니다 – Idob