EdgeNGramFilterFactory를 사용하여 이름 필드를 인덱싱하려고합니다. 나는의 schema.xml에게Sunspot에서 edgeNGram 필터 사용
<fieldType name="text_prefix" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ISOLatin1AccentFilterFactory"/>
<filter class="solr.TrimFilterFactory" />
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="20" side="front"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ISOLatin1AccentFilterFactory"/>
<filter class="solr.TrimFilterFactory" />
</analyzer>
</fieldType>
...
<field name="text_prefix" stored="false" type="string" multiValued="true" indexed="true"/>
을 흉내 낸 시도하고 내 모델에서 내가 가진 :
searchable do
text :name, :as => :text_prefix
을 아무 효과가없는 것 같습니다 그러나. 나는 무엇인가 놓치고 있습니까?
당신이 아무런 효과가없는 무엇을 의미합니까 같은
를 변경해야합니까? 너는 무엇을 확인하고 있니? 너는 무엇을 위해 질문하고 있니? – Jayendra
"Ne"를 검색하고 "New York"과 같은 항목을 가져와야합니다. 현재는 아무것도 반환하지 않습니다. – lulalala