1
나는 나의 레일 어플리케이션에서 acts_as_ferret을 작동 시키려고 노력 중이다. ferret
보석을 설치했습니다. acts_as_ferret
플러그인을 설치했습니다.acts_as_ferret 전혀 검색하지 않음
이것은 내 모델이 지금처럼 보입니다.
class User < ActiveRecord::Base
acts_as_ferret :fields => {
:first_name => {},
:last_name => {}
}
이 난
class User < ActiveRecord::Base
acts_as_ferret :fields => [:first_name, :last_name]
지금 내가 여기
script/console
는 인덱스를 다시 작성 나는 시도조차 내가 쓴 코드와 내가
User.first
# => <Jobseeker id: 1, first_name: "Chirantan", last_name: "Rajhans"\>
User.find(:first, :conditions => ["first_name like ?", '%chi%'])
# => <Jobseeker id: 1, first_name: "Chirantan", last_name: "Rajhans"\>
User.find_with_ferret 'chi'
# => []
User.find_with_ferret '%chi%'
# => []
User.find_with_ferret 'Chirantan'
# => []
을 가지고 응답입니다 열 시도 . 작동하지 않았다. 흰 족제비는 모든 것이 잘되고 있음을 보여줍니다.
다음은 로그의 스냅 샷입니다.
[user] rebuild index with models: [User(id: integer, login: string, email: string, crypted_password: string, salt: string, created_at: datetime, updated_at: datetime, remember_token: string, remember_token_expires_at: datetime, first_name: string, middle_name: string, last_name: string, url_id: string, active: boolean, feature_profile: boolean, type: string, company_id: string)]
[user] reindexing model User
[user] reindex model User : 100.00% complete : 0.01 secs to finish
[user] reopening index at /home/chirantan/workspace/parnunu/index/development/user
index_for [User(id: integer, login: string, email: string, crypted_password: string, salt: string, created_at: datetime, updated_at: datetime, remember_token: string, remember_token_expires_at: datetime, first_name: string, middle_name: string, last_name: string, url_id: string, active: boolean, feature_profile: boolean, type: string, company_id: string)]
options: {:limit=>nil, :offset=>nil}
ar_options: {}
[user] stored_fields: nil
[user] query: chi
-->+(last_name:chi first_name:chi) +(class_name:User)
[user] now retrieving records from AR with options: {}
[user] 0 results from AR: []
Query: chi
total hits: 0, results delivered: 0
index_for [User(id: integer, login: string, email: string, crypted_password: string, salt: string, created_at: datetime, updated_at: datetime, remember_token: string, remember_token_expires_at: datetime, first_name: string, middle_name: string, last_name: string, url_id: string, active: boolean, feature_profile: boolean, type: string, company_id: string)]
options: {:limit=>nil, :offset=>nil}
ar_options: {}
[user] stored_fields: nil
[user] query: %chi%
-->+(last_name:chi first_name:chi) +(class_name:User)
[user] now retrieving records from AR with options: {}
[user] 0 results from AR: []
Query: %chi%
total hits: 0, results delivered: 0
index_for [User(id: integer, login: string, email: string, crypted_password: string, salt: string, created_at: datetime, updated_at: datetime, remember_token: string, remember_token_expires_at: datetime, first_name: string, middle_name: string, last_name: string, url_id: string, active: boolean, feature_profile: boolean, type: string, company_id: string)]
options: {:limit=>nil, :offset=>nil}
ar_options: {}
[user] stored_fields: nil
[user] query: Chirantan
-->+(last_name:chirantan first_name:chirantan) +(class_name:User)
[user] now retrieving records from AR with options: {}
[user] 0 results from AR: []
Query: Chirantan
total hits: 0, results delivered: 0
콘솔의 개발 모드에서 테스트 중이었습니다. 놓친 단계가 있습니까? 아니면 (ThinkingSphinx 에서처럼) 인덱싱 프로세스가 필요합니까? 내가 도대체 뭘 잘못하고있는 겁니까?
감사합니다. 그러나 몇 시간 동안 응답을 얻지 못했기 때문에 스핑크스로 전환했고 매우 잘 작동했습니다. 나는 당신의 제안을 시도 할 것입니다. – Chirantan