我在heroku上有太阳黑子solr/websolr。我在solr/conf/schema.xml
中设置了这个<filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
一样<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
<filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
</analyzer>
</fieldType>
在dev上,如果我搜索"chair"或"chairs",我得到相同的结果。如果我在staging或prod上进行相同的搜索,每个搜索项会得到不同的结果。我已经重新启动并重新定位了solr。
我还需要做什么?
这里支持Websolr。从你的描述中,我看到了一些危险信号,通常表明你对websolr如何与你的应用程序集成感到困惑。Sunspot捆绑了一个可以在本地运行的Solr版本,但是Heroku不支持用户旋转自己的Solr实例。所以像bundle exec rake sunspot:solr:start
这样的命令实际上什么都不做。没错,它可以在本地环境中工作,但在Heroku上不起作用。类似地,修改solr/conf/schema.xml将适用于本地托管的solr实例,但不会影响您的websolr索引。
尝试运行heroku addons:open websolr
打开websolr仪表板。这将显示您帐户中的索引。点击索引查看其状态。您应该看到一个名为"高级配置"的链接。单击此按钮将进入您的模式。检查这个模式,确保它有你上面发布的定义。
如果您需要对模式进行任何更改,那么您将需要重新索引。执行heroku rake sunspot:reindex
命令将文档添加到websolr索引中。那应该很好。
如果您有其他问题,请发送电子邮件到support at onemorecloud.com
,我们将引导您完成。