0

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

在开发中,如果我搜索“椅子”或“椅子”,我会得到相同的结果。如果我在 staging 或 prod 上进行相同的搜索,我会为每个搜索词得到不同的结果。我已经重新启动并重新索引了 solr。

我还需要做什么?

4

1 回答 1

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我们将引导您完成。

于 2014-07-16T22:32:55.543 回答