2011-11-02 2 views
0

Sunspot을 실행하기 위해 Railscast을 추적 한 다음 내 검색 필드에서 와일드 카드 검색을 사용하도록 설정하면이 tutorial이 표시되지만 어떤 이유로 여전히 작동하지 않습니다.EdgeNGramFilterFactory가 여전히 결과를 제공하지 않습니까?

내 SOLR/conf의 /의 schema.xml의 내부 내가 대신 EdgeNGramFilterFactory에 대한이와 기본 라인을 교체 : 나는 "인트"또는 검색 할 때

<fieldType name="text" class="solr.TextField" omitNorms="false"> 
    <analyzer type="index"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="50" side="front"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

는 "스티브 잡스는"나는 스티브 잡스를 얻을, 나는 "STV의 JBS"또는 STV 작업을 시도 할 때 "나는 어떤 결과를 얻을 수 없습니다.

내가 인덱싱 및 태양 흑점 서버를 (또한 레일 서버) 몇 번을 다시 시작됩니다.

내가 여기서 뭔가를 놓치고 있습니까? 무엇 문제가 될 수 있습니까?

답변

5

EdgeNGramFilterFactory은 기본적으로 용어에 대한 n 그램을 만듭니다.

stv jbs 또는 stv jobs 검색 귀하의 경우와 같이
s, st, ste, stev, steve, steve j, steve jo, steve job, steve jobs 

이 부분 일치보다는 맞춤법을 더하며, 일치하지 않을 -

그래서 분 그램 크기 steve jobs 1로 다음의 토큰이 생성 될 것이다 그 문서들.

+0

설명해 주셔서 감사합니다. 또한 흑점은 "stve"및 "jbs"와 같은 단어를 찾는 것으로 내가 원하는 것을 할 수 있습니까? EdgeNGramFilter와 같은 방법입니다. – LearningRoR

+1

nope. 소리 나는 필터 나 동의어를 사용하지 않으면 검색 결과와 일치하지 않습니다. – Jayendra

+0

오, 고마워. – LearningRoR

관련 문제