안녕하세요 저는 태양 흑점과 solr를 사용하는 새로운 레일 개발자입니다.면도날 추가/빼기
searchable do
text :name, :boost => 10
text :description
text :tags do
tags.map(&:name)
end
text :ingredients do
ingredients.map(&:ingredient)
end
string :ingredients, :multiple => true do
ingredients.map(&:ingredient)
end
string :user
end
내 컨트롤러 :
@search = Recipe.search do |query|
query.fulltext params[:search]
query.paginate(:page => params[:page] || 1, :per_page => 20)
end
@recipes = @search.results
내가 레시피 검색 엔진을 짓고 있어요
여기 내 검색 블록입니다. 기본적으로, 지금 당장은 요리법, 재료 및 태그와 관련된 조리법 이름을 검색하고 일치하는 요리법을 표시 할 수 있도록했습니다.
그러나 내가 볼 수 있듯이 나는 이미 문자열을 만들었던 재료에 대해 패싯 검색을하려고합니다.
나의 목표는 당신이 지금 할 수있는 것처럼 조리법을 검색 할 수 있지만 더하기 기호 다음에 다음 재료를 추가하면 검색에 직면하게되고 빼기 기호와 마찬가지로 조리법을 찾을 수있게하는 것입니다.
Chicken Piccata +lemon => searches for chicken piccata with lemon
Chicken Piccata -lemon => searches for chicken piccata without lemon
내가 이런 식으로 뭔가를하려고했는데 : : 그래서 예를 들어 여기에 쿼리
with(:ingredients, params[:ingredients]) if params[:ingredients].present?
하지만 난 어떻게의 +/- 측면을 처리하는 아무 생각이 없습니다. 내가 어떻게 이걸 이룰 수 있니?
감사합니다.
도움 주셔서 감사합니다. 좋은 대답 –