的Gemfile太陽黑子Solr的NGramFilterFactory不工作
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>
我在導軌具有上述設置一個應用程序,solr-reindex完成後沒有任何錯誤。 當我嘗試搜索全字時,它會提取正確的結果,但子字符串搜索不起作用。 我錯過了什麼嗎?
感謝
你確定要使用NGramFilterFactory而不是EdgeNGramFilterFactory?你能顯示可搜索的塊和一個搜索不起作用的例子嗎? – wawka
是的,我想子字符串搜索,因此使用NGramFilterFactory 例如。搜索「ell」應該取「Hello」。 目前它只適用於全文搜索。 – Swati