textsearch_jaのバグ?

textsearch_jaの挙動を調べていて、ちょっと妙な動きに気づいた。

日本語ではなくて英語を to_tsquery() に与えたときの挙動なんだけど、以下の例のように、与えた英文キーワードの末端が欠けるというものだ。

test=# EXPLAIN SELECT data FROM test WHERE to_tsvector('japanese', data) @@ to_tsquery('japanese', 'tennis');
                                  QUERY PLAN                                  
------------------------------------------------------------------------------
 Seq Scan on test  (cost=0.00..28.45 rows=6 width=32)
   Filter: (to_tsvector('japanese'::regconfig, data) @@ '''tenni'''::tsquery)
(2 rows)

test=# SELECT data FROM test WHERE to_tsvector('japanese', data) @@ to_tsquery('japanese', 'tennis');
                              data                              
----------------------------------------------------------------
 Wimbledon is a game of the tennis that is famous in the world.
(1 row)

test=# 

この現象は'tennis'だけでなく、'baseball'や'footboll'でも発生している・・・。

なお、通常のtextsearchの場合はこの現象は起きない。

test=# EXPLAIN SELECT data FROM test WHERE to_tsvector(data) @@ to_tsquery('tennis');
                         QUERY PLAN                          
-------------------------------------------------------------
 Seq Scan on test  (cost=0.00..31.53 rows=6 width=32)
   Filter: (to_tsvector(data) @@ to_tsquery('tennis'::text))
(2 rows)

test=# 

textsearch_jaの裏で動いているMecabが変なことしているのかな?と思い、Mecab単体での動作を見てみるが

$ mecab
tennis
tennis  名詞,固有名詞,組織,*,*,*,*
EOS

Mecab自体はとくに変なことはしているように思えない。
となると、やっぱりtextsearch_ja固有の問題が発生しているのかな・・・?