Tracで全文検索(Search.py)
※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい
2008-03-24
Trac で何気なく右上の検索を使ってみたら、いきなり Internal Server Error が発生。
(Trac のバージョンは trac-0.10.4-ja-1)
Apache のレスポンスコードを見ても 500 が返ってます。エラーメッセージを見ると、検索文字数が少ないってことなのですが、これで Internal Server Error っていうのもちょっとどうかと思う。
Internal Server Error が返されるときは、コードに致命的なバグがあったり、Web アプリケーションとは別の要素(データベースなど)との通信が切れたり、そんな感じの時に発生するイメージがあるので焦ります。
500 Internal Server Error (Search query too short. Query must be at least 3 characters long.)
そこで、ソースを追ってみると、Seerch.py の 175 行目付近で、該当のコードを発見。意図的に TracError にしているわけですね。
# Refuse queries that obviously would result in a huge result set
if len(terms) == 1 and len(terms[0]) < self.min_query_length:
raise TracError('Search query too short. '
'Query must be at least %d characters long.' % \
self.min_query_length, 'Search Error')
ちなみに、最小文字数の設定は trac.ini で設定可能ですが、管理者モードだとブラウザからも設定できるかもしれません。
$ vi trac.ini [search] min_query_length = 3
関連記事
上記の記事に関連する記事(最新の10件)です。


