Solr의 제안 구성 요소를 사용하는 데 문제가 있습니다. 사용하려는 구현 클래스는 AnalyzingInfixLookupFactory입니다.이 접미사뿐만 아니라 접두사를 기반으로 제안 사항을 얻으 려합니다. 또한 Solr은 검색 용어를 하나의 토큰으로보아야했습니다. 그러나 문제는 Solr이 항상 접미어가 아닌 접두사를 기반으로 제안을 반환한다는 것입니다.Solr Suggester Impl 클래스 용 AnalyzingInfixLookupFactory
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str> <!-- org.apache.solr.spelling.suggest.fst -->
<str name="dictionaryImpl">DocumentDictionaryFactory</str> <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory -->
<str name="field">movie_name</str>
<str name="weightField">movie_meter</str>
<str name="buildOnCommit">true</str>
<str name="suggestAnalyzerFieldType">text_general</str>
</lst>
의 schema.xml에서 text_general :
는 solrconfig.xml에서 구성 요소를 제안의 나입니다 여기
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
관리 스키마! – Ahmed
안녕하세요 제임스, 왜 우리는 텍스트와 text_suggest를 solrconfig.xml에 추가해야합니까? 솔라리스를 추가하지 않고 예제를 시도해 보았습니다. 나는 무엇인가 놓치고 있니? –
안녕하세요 Nerandra, suggestAnalyzerFieldType은 StandardTokenizerFactory를 사용하므로 텍스트를 필드의 용어 중 하나를 사용하여 입력 할 수 있습니다. queryAnalyzerFieldType은 KeywordTokenizerFactory를 사용하여 전체 필드가 문자열로 반환됩니다. 저자, 제목 등과 같은 짧은 제안 필드에서 유용합니다 (예 : amadeus에서 타이핑을 시작하면 wolfgang amadeus mozart가 반환됩니다) –