我在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>
如果我搜索&#34;主席&#34;或者&#34;椅子&#34;我得到了相同的结果。如果我在分段或prod上进行相同的搜索,我会为每个搜索词获得不同的结果。我重新启动并重新索引solr。
我还需要做什么?
答案 0 :(得分:2)
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
,我们会引导您完成。