이 내 (꽤 표준) N- 그램 스키마입니다 -SOLR N- 그램 매치 화가
<fieldType name="ngram" class="solr.TextField" positionIncrementGap="100" stored="false" multiValued="true">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="1" maxGramSize="15"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
지금 laptop_ngram "g74sx-A"반환 -
<arr name="laptop_ngram">
<str>ASUS G74SX-A1 17.3-Inch Gaming Laptop</str>
</arr>
하지만 laptop_ngram을 "g74sx-A1 "아무것도 찾지 못한다.
"-"을 이스케이프 처리해도 아무런 차이가 없습니다.
의견이 있으십니까?
동일한 분석을 사용하지 않는 이유 쿼리에 대한 zer도 설정 되었습니까? –
solr.NGramFilterFactory를 쿼리 분석기에 추가 하시겠습니까? – Jerry
예 (12 문자를 넣어야합니다.) –