2012-11-02 3 views
0

구성 파일에서 인덱스 당 두 개의 sql_attr_uint 값을 사용해야합니다. 이전 게시물에서 명령 줄을 통해 검색 명령을 너무 많이 믿지 않도록 알아 냈습니다. Sphinx PHP API order differs from Search DaemonSphinx - 구성에서 다중 sql_attr_uint 사용

내 현재의 문제는 PHP의 API (명령 줄을 통해 검색을 사용하는 경우 그러나 모두 sql_attr_uint 값이 나타납니다) 아래

내 구성 파일에 액세스 될 때 나는 uable이 sql_attr_uint 값을 모두 검색 할 생각입니다 .. http://pastebin.com/30Si7bw5

PHP API를 통해 결과를 가져올 때 sql_attr_uint table_id 만 볼 수 있지만 pub_id라는 sql_attr_uint는 볼 수 없습니다.

누구나 할 수있는 이유를 제안 할 수 있습니까?

$cl = new SphinxClient(); 
$cl->SetServer($CONF['sphinx_host'], $CONF['sphinx_port']); 
$cl->SetMatchMode($mode); 
$cl->SetLimits(0, 1000); 
// below line commented out atm - to only show those rows with this sql_attr_uint of 760 (is this the correct syntax?) 
//$cl->SetFilter ('pub_id', array(760), FALSE); 
$result = $cl->Query($q); 

답변

2

나는 searchd propelly를 다시 시작하지 않는다고 생각합니다. 여전히 이전 색인을 사용하고 있습니다.

다시 색인 할 때 검색을 다시로드하려면 --rotate를 사용해야합니다.

실패했습니다. searchd를 완전히 멈추고 색인을 다시 색인화 한 다음 새로 시작하십시오.

(귀하의 구문이 올 바르고 다른 것이 계속 진행 중입니다)

+0

감사합니다 !! - 회전 작동, 나는 수동으로 (데이터 폴더를 삭제, 인덱서를하고있어 - 등) – Zabs

+0

아 멋지 네요. - 회전이 가장 좋은 방법입니다. crontab에서 주기적으로 색인을 다시 생성하는 데 이상적입니다. 그것은 좋은 깨끗한 재 장전을 시작합니다. 라이브 데몬을 방해해서는 안됩니다. – barryhunter