Solr 同梱の Jetty

Solr の配布物にはサクッと Solr を使い始められるようにサンプル(example)が含まれている。
このサンプルには Jetty の jar ファイルが同梱されているので、Tomcat とかの環境を用意する必要もなく簡単に Solr を使い始められる。

あるプロジェクトで、このサンプルを元に Solr の検索サーバを構築し、実運用をしていたのだけど、希に検索レスポンスに含まれる日本語の文字が繰り返し現れるトラブルが発生していた。例えば「少女時代」なら「少女女時代」のように。
再現条件が全く分からず、Solr のキャッシュかなあ?と Solr を疑っていたところ、バグデータベースに同様の問題が報告されていた。
A UTF-8 character is output twice (Bug in Jetty)

このコメントにあるように、原因は Solr ではなく Jetty だった。
Jetty 6.1.22 でこの問題は解決されているとのことだったので、最新の 6.1.25 の Jetty の jar ファイルに差し替えて解決。

Solr のサンプルに含まれている Jetty は 6.1.3 で、三年以上前のものだった。Solr で日本語を扱う場合は、古い Jetty は使わないよう注意しましょう。

Last updated on July 7, 2015