나는 이름을 검색하는 데 solr을 사용하고 부분 일치를 일치시킵니다. 최소 2를 사용하여 I 얻을 "밥 스미스"에 대한 다음 ngrams :Solr ngrams는 공백을 포함하는 방법
- 보
- 밥
- 는 스미스
이를
<fieldType name="edgytext" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="25" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
이 솔루션은 만들어지는 ngram의 측면에서 저에게 효과적이었습니다.하지만 "밥 s"을 검색하면 아무 이유없이 얻을 수 있지만 "밥 sm"을 검색하면 원하는 결과를 얻을 수 있습니다. 나는 mm 1과 2를 사용하여 시도했다. – user3688241
관리 인터페이스 아래의 분석 탭을 사용하여 비교가 중단 된 부분을 확인한다. – MatsLindh