누군가가 트랙과 아티스트 모두와 일치하는 검색을 수행하면 트랙을 찾고 있다고 생각합니다. 이 경우 원하는 행동은 무엇입니까? 귀하의 의견을 바탕으로
, 당신의 스핑크스 쿼리이 다음과 같아야합니다
SELECT track_id, track_title, artists.artist_id, artist_name FROM tracks
LEFT JOIN artists WHERE artists.artist_id = tracks.artist_id;
당신이 PHP를 사용하는 경우, 코드가 같은 것을 보일 것이다 :
$ 고해상도 = $ SC-을> 쿼리 ($ searchString, "SphinxIndexName");
if (isset($res['matches']) && sizeof($res['matches']) > 0) {
ids = join(",", array_keys($res["matches"]));
$query = "SELECT track_id, track_title, artists.artist_id, artist_name FROM tracks
LEFT JOIN artists WHERE artists.artist_id = tracks.artist_id ORDER BY FIELD(track_id, $ids)";
// ... query MySQL and display results
}
else {
echo "no results";
}
정확하게하려면 트랙 결과를 표시하십시오. 예술가가 진주 잼인 더 나은 남자를 보여줄뿐입니다. – Mike
내 답글을 편집하여 내 의견에 답변했습니다. – StackOverflowed
나는 그것이 내가 혼란스러워하는 곳이라고 생각한다. 내가 쓴 지수는 어느 것입니까? 트랙 색인, 아티스트 색인 또는 둘 다? 이 문제를 해결하기 위해 새 색인을 만들었습니까? 그리고 당신의 논리는 역으로 작동 할 것입니다 : 진주 잼 더 나은 남자 – Mike