2014-06-06 8 views
4

최근에 웹 응용 프로그램에 searchkick을 추가했지만 연구는 이름 필드에서만 작동합니다. 이 내 코드입니다 :레일은 멀티 필드에 searchkick을 사용합니다

@search = Campaign.search @query, fields: [:name, :categories, :professional, :brief] , misspellings: {distance: 2} 

연구는 모든 모델의 이름을 작동에서,

class Campaign 
[...] 

    searchkick language: "French" 

[...] 

    def self.search_fields(params) 
    @query = "*#{params[:search]}*" 
    @search = Campaign.search @query, fields: [:name, :categories, :professional, :brief] , misspellings: {distance: 2} 
    @search.results 
    end 

그러나 :

모델. 카테고리, : 전문, 간단한, 날짜 등 다른 분야로 검색하고 싶습니다.

어떻게 할 수 있습니까?

답변

1

당신은

class Campaign 
    [...] 
    def search_data 
    { 
     name: name, 
     categories: categories, 
     professional: professional, 
     brief: brief 
    } 
    end 
    [...] 
end 

위의 변경 한 후이 모델 인덱스를 다시 기억 모델

에 색인을 원하는 필드를 정의해야합니다.

ref : https://github.com/ankane/searchkick#indexing