太阳黑子solr NGramFilterFactory无法正常工作

时间:2014-05-03 16:29:04

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

的Gemfile

gem 'rails','3.2.17'
gem 'sunspot_rails'
gem 'sunspot_solr'

Gemfile.lock的

sunspot (2.1.0)
  pr_geohash (~> 1.0)
  rsolr (~> 1.0.7)
sunspot_matchers (2.1.0.1)
sunspot_rails (2.1.0)
  nokogiri
  rails (>= 3)
  sunspot (= 2.1.0)
sunspot_solr (2.1.0)
therubyracer (0.12.1)
  libv8 (~> 3.16.14.0)
  ref

schema.xml中

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="15" />
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
</fieldType>

这是solrconfig.xml

我的rails应用程序中有以上设置,solr-reindex完成没有任何错误。 当我尝试搜索全字时,它会获取正确的结果,但子字符串搜索不起作用。 我在这里错过了什么吗?

由于

1 个答案:

答案 0 :(得分:0)

我已经对单个字符执行了solr搜索,但对任意数量的字符都可以进行相同的操作。

步骤1.耙太阳黑子:solr:停止

步骤2.编辑solr / conf / schema.xml文件;

## This you have already done by setting minGramSize="2"

第3步。耙太阳黑子:solr:开始

步骤4.耙太阳黑子:reindex