3

무료 텍스트 검색을 위해 흑점 solr을 사용하고 있습니다. 상인 모델에서 상인을 검색하려고합니다. 여기에 여기에 검색 블록 여기Sunspot Solr 부분 검색은 개발 후 작업 중이지만 배포 후에는 생산되지 않습니다.

searchable do 
    text :name 
    text :postcode 
    text :phone 
    text :phone_alt 
    text :phone_mobile 
end 

가의 schema.xml

<fieldType name="text" class="solr.TextField" omitNorms="false"> 
    <analyzer type="index"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.StandardFilterFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.PorterStemFilterFactory"/> 
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="20" side="front"/> 
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="20" side="back"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.StandardFilterFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.PorterStemFilterFactory"/> 
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="20" side="front"/> 
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="20" side="back"/> 
    </analyzer> 
</fieldType> 

입니다 그리고 것은

search = Trader.search do 
     keywords params[:q] do 
      minimum_match 2 
     end 
    end 
    @traders = search.results 

내가 내 상인 모델의 두 상인이 있다고하자 컨트롤러 코드를입니다. 이름은 '그리핀 도어 홀 (Gryffindor Hall)'과 '레이벤 클라우드 홀 (Ravenclaw Halls)'입니다. 개발에서 'Hall'을 사용하여 검색 할 때 나는이 상인을 얻습니다. 프로덕션 환경에서 배포 한 후 동일한 쿼리 문자열에 대해 첫 번째 상인 만 반환합니다. 어느 쪽이 옳지 않은가. 실제로 문제는 어디에 있습니까?

+0

색인을 다시 작성하는 것이 좋습니다. Solr에 대한 데이터 폴더를 제거한 다음 중지/시작하면 다시 빌드해야합니다. – Kris

+0

다시 색인을 생성했습니다. 작동하지 않았다. – qmaruf

답변

0

프로덕션 환경에 대해서는 언급하지 않았지만 heroku에 배포하는 경우 로컬 스키마.xml을 무시하므로 websolr schema.xml을 편집해야합니다.

0

실제 문제가 발생하여 프로덕션 서버에서 다음을 실행하여 문제를 해결할 수있었습니다. 첫 번째 정지 SOLR ...

RAILS_ENV=production bundle exec rake sunspot:solr:stop 

는 그럼 난 내 프로젝트 ( rm -rf solr)에서 SOLR 디렉토리를 제거하고이 후, /solr/conf/schema.xml이 부분 검색하도록하려면 편집 ...

rails generate sunspot_rails:install 

으로 다시 설치. 응용 프로그램 서버와 solr를 다시 시작하고 모델을 다시 색인화하십시오.

희망이 도움이됩니다.