SOLR 3.2를 사용하고 있습니다. 내 응용 프로그램은 SOLR 인스턴스에서 텍스트 필드 유형에 대한 검색 쿼리를 실행합니다. 사용자가 "book"과 같은 쿼리를 발행하면 "book", "bookshelf", "bookasd"등과 같은 결과를 반환하도록 SOLR을 어떻게 만들 수 있습니까? "*"문자를 쿼리 문자열에 수동으로 추가해야합니까? 아니면 SOLR에 설정이 있습니까? 그래서 필드에서 접두어 검색을 기본적으로 수행합니까?사용자가 기본적으로 접두사 검색을 할 수 있도록 SOLR을 구성하는 방법은 무엇입니까?
이 텍스트 필드 유형에 대한의 schema.xml 섹션은 다음과 같습니다
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="1" splitOnCaseChange="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
<analyzer type="query">
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenat0All="1" splitOnCaseChange="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
</fieldType>
아직 답변을 찾지 못하셨습니까? –