我正在嘗試使用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 2012-02-13 05:50:47
我想搜索「Ne」並獲得像「紐約」這樣的條目。目前它什麼都不返回。 – lulalala 2012-02-13 07:19:09