나는 spellcheck component을 사용하는 Solr 코어 (Solr 버전 6.4.1)를 가지고 있습니다. 문제는 30k 미만의 항목이 있으면 맞춤법 검사기가 정상적으로 작동합니다. 문서 수를 30,000 개 이상으로 늘리면 맞춤법 검사 결과가 반환되지 않습니다. maxQueryFrequency 또는 thresholdTokenFrequency과 같이 solrconfig.xml 파일의 매개 변수를 알고 있지만 문제를 해결하지 못했습니다.Solr 10k보다 큰 인덱스에 대한 맞춤법 검사 또는 결과 반환
나는 또한 다음을 읽었습니다 : Apache Solr : Search is not returning result for large document indexed, Solr spellchecker not returning any results, solr suggester not returning any results 및 Solr spellcheckin randomly working 그러나 이들은 어느 것도 도움이되지 않았습니다.
이
은 solrconfig.xml의 관련 부분입니다 :<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">text_general</str>
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">_spellcheck_</str>
<str name="classname">solr.DirectSolrSpellChecker</str>
<str name="distanceMeasure">internal</str>
<float name="accuracy">0.5</float>
<int name="maxEdits">2</int>
<int name="minPrefix">1</int>
<int name="maxInspections">5</int>
<int name="minQueryLength">4</int>
<float name="maxQueryFrequency">0.1</float>
<float name="thresholdTokenFrequency">.0000001</float>
</lst>
</searchComponent>
하고, 내 요청 처리기에서 :
<bool name="spellcheck">true</bool>
<str name="spellcheck.dictionary">default</str>
<str name="spellcheck.extendedResults">false</str>
<str name="spellcheck.count">5</str>
<str name="spellcheck.alternativeTermCount">2</str>
<str name="spellcheck.maxResultsForSuggest">5</str>
<str name="spellcheck.collate">true</str>
<str name="spellcheck.collateExtendedResults">true</str>
<str name="spellcheck.maxCollationTries">5</str>
<str name="spellcheck.maxCollations">3</str>
_spellcheck_는 (소스 = "*")를 CopyField입니다 , 다음과 같이 정의되는 text_general로 색인됩니다 :
<fieldType name="text_general" class="solr.TextField" >
<analyzer type="index">
<charFilter class="solr.HTMLStripCharFilterFactory" />
<tokenizer class="solr.ClassicTokenizerFactory" />
<filter class="solr.ClassicFilterFactory" />
<filter class="solr.ASCIIFoldingFilterFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
<filter class="solr.HyphenatedWordsFilterFactory" />
</analyzer>
<analyzer type="query">
<charFilter class="solr.HTMLStripCharFilterFactory" />
<tokenizer class="solr.ClassicTokenizerFactory" />
<filter class="solr.ClassicFilterFactory" />
<filter class="solr.ASCIIFoldingFilterFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
<filter class="solr.HyphenatedWordsFilterFactory" />
</analyzer>
</fieldType>
어떤 조언이 필요합니까?