Solr - NGramFilterFactory不起作用

时间:2014-05-31 18:09:19

标签: ruby-on-rails solr sunspot-rails

我正在尝试配置我的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。

非常感谢

0 个答案:

没有答案