在heroku上使用solr / websolr获得单数和复数搜索项的不同结果

时间:2014-07-16 19:11:34

标签: ruby-on-rails heroku solr websolr

我在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。

我还需要做什么?

1 个答案:

答案 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,我们会引导您完成。