4

ドイツ語の姓「Warsoenke」に奇妙な振る舞いがあります。

これをチェックしてください:

create table test_warsoe
as
select 'Mister Warsoenke ABC-12' name
from dual;

create index test_warsoe_index on test_warsoe(name) indextype is ctxsys.context;

select name,
       score(1) as rating_warsoe,
       score(2) as rating_warsoen
from test_warsoe
where contains(name,'definescore(Warsoe%,occurrence)',1) > 0
   or contains(name,'definescore(Warsoen%,occurrence)',2) > 0;

出力は次のとおりです。

Mister Warsoenke ABC-12  |  2  |  1

理由がわかりませんか?「Warsoe」または「War」と入力すると、スコア 2 が返されます。「Warsoen」と入力すると、私が理解しているように機能し、1 が返されます。

使用しない場合definescore、同じ方向に機能し、異なる数字 (27 と 13) が表示されます。

他の姓の場合、完全かつ明確に機能します。でもこいつには…

これはドイツ語のデータベース設定、例えば "War so e..." によるものだと推測しましたが、この考えは非常に奇妙で、なぜ "Warsoen" が機能するのかはまだ明らかではありません。

何か案は?

編集

上記のように機能しない姓がはるかに多いことがわかりました。そして、私はまだこれについて可能な説明を見ていません...

4

1 に答える 1