我正在尝试配置我的Solr(带有太阳黑子,轨道),就像这样:
有一个名字:Willie Price 我希望能够搜索:llie(例如)
在我的schema.xml上,我添加了:
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="15"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
My Rails模型:
searchable do
text :name, :as => :ngram
end
我也试试:
searchable do
text :name
end
在我的控制器上:
@search = Client.search do
keywords params[:search]
end
还试试这个:
@search = Client.search do
full_text params[:search]
end
问题:我只能使用完整的单词进行搜索,因此“Willie Price”仅适用于Willie或Price。
非常感谢