레일스에서 검색 로직을 개선 할 수있는 방법이 있습니다. 예를 들어, 현재 '빨간색 가죽'을 검색하면 빨간색 OR 가죽과 일치합니다. 어떻게하면 검색 로직을 향상 시켜서 '붉은 색 가죽'을 검색하면 '붉은 색 강아지'는 얻지 않지만 '붉은 색 가죽 코트'라고 말하면됩니다. 이상없이 나는 보석없이 이것을하고 싶습니다. 나는 레일 4레일에서 검색 로직을 사용하면보다 정확한 결과를 얻을 수 있습니다.
내 검색 기능의 예와 MySQL을 사용하고하는 것은 여기에
if params[:search_term].present? && params[:search_term].length > 1
@candidates = @candidates.where("title like ?","%#{params[:search_term]}%")
end
UPDATE
(내 DB에는 검은 고양이가 없습니다) 나는 ''검은 고양이 '를 검색, 그리고 난 굴복하고이 ...
1m Single Bolster Black Velvet
1m Straight Back Black Velvet
70cm Straight Back Black Velvet
이러한 결과를 부정한다 고양이의 포함 ...
나는 보석을 사용하십시오. 왜 바퀴를 재발견합니까? – DiegoSalazar
내가 성취하고자하는 것이 너무 단순하기 때문에. 분명히 –
당신의 코드가 결과에 대한 당신의 설명에 모순되는 것처럼 보이기 때문에 나는 더 대답하지 않았다. SQL의 % search term %는 실제로 "search term"을 포함하는'title' 내의 하위 문자열만을 찾아야합니다. 여기서 코드에 문제가 보이지 않습니다. – DiegoSalazar