관련 키워드 표와 일치하도록 mysql 표현식의 올바른 형식을 찾는 데 어려움을 겪고 있습니다. 다음과 같이키워드 표에 대한 MySQL 검색
테이블은 설정되어 다음과 같이
photos: id,path,various exif data
photos_to_tags: photos_id,photos_tags_id
photo_tags: id,name
는 SQL은 다음과 같습니다
SELECT DISTINCT (photos.path),photos.name,
MATCH (photo_tags.name) AGAINST('+bamboo* +flooring* ') AS relevance
FROM photo_tags
LEFT JOIN photos_to_tags ON photo_tags_id = photo_tags.id
LEFT JOIN photos ON photos.id = photos_id
WHERE (MATCH (photo_tags.name) AGAINST('+bamboo* +flooring* ' IN BOOLEAN MODE))
OR photo_tags.name = 'bamboo flooring'
GROUP BY path
ORDER BY relevance
LIMIT 0,24;
그것은 반환하지 않습니다 결과 정확한 문구 "대나무 마루"는 태그가 아닌. 'bamboo'가 태그이고 'flooring'이 태그 인 경우 결과를 반환하지 않습니다.
더 자세히 설명하면 다음과 같은 문제점을 자세히 설명 할 수 있습니다. 이는 계약자의 웹 사이트를위한 것입니다. 수백장의 사진이 있습니다. 그는 루핑 사진 30 장을 가질 수 있으며 루핑 사진 중 일부는 스틸 지붕 일 수도 있고 다른 것은 삼나무 셰이크, 평생 일 수도 있습니다.
키워드 태그는 별도의 테이블에 있으며 모든 사진을 나열하는 데 사용할 수 있습니다. 지붕이 있거나 강철 지붕이나 강철 지붕 등을 단층으로 분리하는 데 사용할 수 있습니다.
다른 검색어를 쓸 수있는 방법이있을 수 있습니다. 찾을 수 없었습니다. 관련 결과를 반환하는 좋은 방법입니다. 예를 들어 누군가 평생 지붕을 검색하는 경우 강철 지붕 사진을보고 싶지 않습니다.
감사합니다. 당신이 앞에 (즉, 존재해야합니다 의미) '+'쓴
이네는 반환하지 않습니다 -
나는 'MATCH'에 대해 아무것도 모른다. 그래서 당신을 도울 수는 없지만 왜 여기에 조인을 남겼는지 궁금하다. 내면의 조인을 원할 것 같은데? 그렇지 않으면 결과 세트에'NULL's가 많이 나타날 수 있습니다. 유용하지는 않습니다. – Brandon