0

私はherokuにsunspot 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>

開発者で「chair」または「chairs」を検索すると、彼女と同じ結果が得られます。ステージングまたは本番で同じ検索を行うと、検索用語ごとに異なる結果が得られます。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 ダッシュボードを開いてみてください。これにより、アカウントのインデックスが表示されます。インデックスをクリックして、そのステータスを確認します。「Advanced Configuration」というリンクが表示されます。これをクリックすると、スキーマに移動します。このスキーマをチェックして、上で投稿した定義があることを確認してください。

スキーマを変更する必要がある場合は、インデックスを再作成する必要があります。実行heroku rake sunspot:reindexして、ドキュメントを websolr インデックスに追加します。それは良いはずです。

他の問題がある場合は、にメールを送信してくださいsupport at onemorecloud.com。手順を説明します。

于 2014-07-16T22:32:55.543 に答える