Я пока не могу ответить на свой вопрос, вот ответ
Я идиот ... не переиндексирую каждый раз.
searchd --stop
indexer --all
searchd
Проблема решена. Извините, что тратит время впустую
** Конец ответа **
У меня есть модель PHP, выполняющая запрос к индексированной таблице (назовите ее SONGS).
Запрос в sphinx.conf выглядит следующим образом:
sql_query = \
SELECT \
songs.id AS song_id, \
songs.title AS song_title, \
songs.upload_stamp AS song_published, \
songs.uri AS song_uri, \
songs.artist_id, \
songs.song_rank, \
songs.vote_count \
FROM songs
Однако, когда я запускаю код для выполнения запроса, результирующий массив содержит только 2 поля song_published & artist_id и пропускает остальные 6 полей.
Код php выглядит следующим образом:
$this->cl->SetMatchMode(SPH_MATCH_ALL);
$this->cl->SetConnectTimeout ( 1 );
$this->cl->SetArrayResult ( true );
$this->cl->SetWeights ( array ( 100, 1 ) );
$result = $this->cl->Query($this->search_term,'song-index');
Я перепробовал множество вещей и перезапускал searchd ( edit и переиндексировал) каждый раз, но безрезультатно ... он возвращает правильные результаты, но только 2 из 8 полей в результате массив.
Любая помощь будет очень признательна !!!!
EDIT ...
Вот также объявления для значений
sql_attr_uint = artist_id
sql_attr_uint = song_id
sql_attr_uint = vote_count
sql_attr_timestamp = song_published
sql_attr_float = song_rank
sql_attr_string = song_uri
sql_attr_string = song_title