웹 응용 프로그램을 개발 중이며 Solr을 검색 엔진으로 사용하고 있습니다. 자동 완성 기능을 추가하고 싶습니다. 이를 위해 Suggester 구성 요소를 추가하고 이에 대한 별도의 필드를 구성했습니다. 이게 괜찮아.Solr Suggester에서 한 단어를 되돌림
문제는 Suggester가 필드의 전체 값을 반환한다는 것입니다. 예를 들어, 기사의 이름이 "뉴스 가치있는 항목"이고 "new"를 검색하면 "뉴스 가치있는"항목을 반환합니다. "뉴스 가치있는"항목을 반환하기를 원합니다. 즉, 개별 단어 토큰을 반환하십시오.
스키마는 다음과 같습니다
<fieldType name="text_autocomplete" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<field name="term" type="text_autocomplete" indexed="true" stored="true" multiValued="false" />
<field name="weight" type="float" indexed="true" stored="true" />
<copyField source="name" dest="term"/>
값은 "기간"필드에 복사됩니다. The Solr config :
<!-- Search component -->
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">suggester</str>
<str name="lookupImpl">AnalyzingLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">term</str>
<str name="weightField">weight</str>
<str name="suggestAnalyzerFieldType">text_autocomplete</str>
<str name="buildOnStartup">false</str>
</lst>
</searchComponent>
<!-- Search handler -->
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.count">10</str>
<str name="suggest.dictionary">suggester</str>
<str name="suggest.build">true</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
Suggester가 한 단어를 반환하도록하는 스키마 및/또는 구성을 제안 할 수있는 사람은 누구입니까?
감사합니다. – Knut