무료 텍스트 검색을 위해 흑점 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'을 사용하여 검색 할 때 나는이 상인을 얻습니다. 프로덕션 환경에서 배포 한 후 동일한 쿼리 문자열에 대해 첫 번째 상인 만 반환합니다. 어느 쪽이 옳지 않은가. 실제로 문제는 어디에 있습니까?
색인을 다시 작성하는 것이 좋습니다. Solr에 대한 데이터 폴더를 제거한 다음 중지/시작하면 다시 빌드해야합니다. – Kris
다시 색인을 생성했습니다. 작동하지 않았다. – qmaruf