【发布时间】:2012-02-13 05:25:40
【问题描述】:
我正在尝试使用 EdgeNGramFilterFactory 来索引名称字段。我尝试模仿 schema.xml
<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
但它似乎没有效果。我错过了什么?
【问题讨论】:
-
没有效果是什么意思?你在检查什么??你在查询什么??
-
我想搜索“Ne”并获得“New York”之类的条目。目前它什么都不返回。
标签: ruby-on-rails solr sunspot