3

私は自分のアプリをローカルで Sunspot Solr と連携させ、Unicode を問題なくサポートしています。しかし本番環境では、Heroku と Websolr を使用すると、すべての Unicode クエリがゼロの結果を返します。Websolr サポートで、Unicode を使用して Solr システムに対して直接クエリを実行でき、正常に動作することを確認しました。ただし、本番アプリからクエリを実行すると、ログに次のようなものが表示されました: q=أرسنا</p>

なのでWebsolrとは関係ないようです。また、ローカル アプリを実稼働モード (Websolr を指す) で実行しようとしましたが、一度実行すると、クエリは再び結果を返しません!

誰かが同様の問題に直面したかどうか疑問に思っています。どこで答えを探すべきですか? Solr に送信されている内容を確認するために、solr の運用ログ レベルを INFO 以上に設定しようとしましたが、何らかの理由でサーバー ログにも表示されません。

ありがとう

4

2 に答える 2

0

Sunspot がリクエストに HTTP POST を使用するように切り替えたとき、Sunspot (およびその依存関係である RSolr) は残念ながら Content-type ヘッダーの文字セットを指定しませんでした。これにより、Tomcat はサーブレットの仕様に従ってデフォルトで ISO-8859-1 になり、UTF-8 文字のデコードが正しく行われなくなります。

RSolr の最新バージョンである 1.0.7 では、UTF-8 文字セットを使用して正しい content-type ヘッダーを指定することで、これを修正しています。そのため、このエラーが表示される Sunspot ユーザーは、RSolr gem の依存関係が 1.0.7 以上に更新されていることを確認する必要があります。

于 2012-02-25T01:42:24.520 に答える
0

よくわかりませんが、リクエストを行っているときに何らかの理由で WebSolr が使用する文字セットを送信していないように見える可能性があるため、アプリケーションサーバー (JBOSS か Tomcat かはわかりません) は使用する必要があると判断します。デフォルトの文字セット (ISO-8859-1 の場合もあります)。製品のバグだと思います。

于 2012-02-09T09:19:52.910 に答える