40000 개가 넘는 문서가있는 인트라넷 용 검색 엔진으로 SOLR을 실행하고 있습니다. copyField 지시문을 사용하여 title
및 keywords
필드를 content
필드에 복사하고 색인 만하면 매우 간단하게 유지할 수 있습니다. SOLR : NGramFilterFactory 문제
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="German" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
불평, 와일드 카드가 수동으로 설정해야한다고.
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="German" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="30" />
</analyzer>
문제는 지금 : 나는 특정 키워드 ('소니') 7 문서를 찾는 데 사용 된 설정과 그래서 분석기의 마지막 행으로 NGRamFilterFactory
을 추가했다. 자, 거기에만 2. 내가 완전히 색인을 플러시하고 처음부터 그것을 구축. 그 라인을 다시 가져 와서 문서를 다시 색인하면 예상대로 다시 작동합니다.
- 가 FilterFactory 나를 위해 옳은 일하거나 토크 나이 공장해야합니다 : 그것은 내가 가지고있는 질문에 날 리드? 그리고 토크 나이저가 필터 뒤에서 실행할 수 있다면?
- 나는 75 개의 문서를 묶어서 xml로 문서를 추가하고 맨 마지막에 커밋을하고있다. 커밋이 더 있어야할까요?
- 는 GRR .. 사전에
덕분에 지금은 잊고 또 다른 하나가 있었다!
좋은 '야생 추측'. 한도를 늘리면 그 일이 끝났다. 색인에 얼마나 많은 토큰이 있는지 확인할 수 있는지 알고 있습니까? – harpax
색인에서 용어를 확인할 수 있습니다. 문서 및 필드를 확인할 수 있는지 확실하지 않습니다. luke 도구를 사용해보십시오. – Jayendra