翻訳エンジンテスト中

最長一致ってみんなどうやってんのかなぁ。
まあ考えずに実行してみたのは、こんなん。

入力

こんにちは、これはテストです。

辞書

こんにちは Hello
こんばんは Good evening
テスト test
,

出力

Hello,これはtestです。

飛んだSQL

select * from ja_en where src = 'こんにちは、これはテストです。' limit 1
select * from ja_en where src = 'こんにちは、これはテストです' limit 1
select * from ja_en where src = 'こんにちは、これはテストで' limit 1
select * from ja_en where src = 'こんにちは、これはテスト' limit 1
select * from ja_en where src = 'こんにちは、これはテス' limit 1
select * from ja_en where src = 'こんにちは、これはテ' limit 1
select * from ja_en where src = 'こんにちは、これは' limit 1
select * from ja_en where src = 'こんにちは、これ' limit 1
select * from ja_en where src = 'こんにちは、こ' limit 1
select * from ja_en where src = 'こんにちは、' limit 1
select * from ja_en where src = 'こんにちは' limit 1
select * from ja_en where src = '、これはテストです。' limit 1
select * from ja_en where src = '、これはテストです' limit 1
select * from ja_en where src = '、これはテストで' limit 1
select * from ja_en where src = '、これはテスト' limit 1
select * from ja_en where src = '、これはテス' limit 1
select * from ja_en where src = '、これはテ' limit 1
select * from ja_en where src = '、これは' limit 1
select * from ja_en where src = '、これ' limit 1
select * from ja_en where src = '、こ' limit 1
select * from ja_en where src = '、' limit 1
select * from ja_en where src = 'これはテストです。' limit 1
select * from ja_en where src = 'これはテストです' limit 1
select * from ja_en where src = 'これはテストで' limit 1
select * from ja_en where src = 'これはテスト' limit 1
select * from ja_en where src = 'これはテス' limit 1
select * from ja_en where src = 'これはテ' limit 1
select * from ja_en where src = 'これは' limit 1
select * from ja_en where src = 'これ' limit 1
select * from ja_en where src = 'こ' limit 1
select * from ja_en where src = 'れはテストです。' limit 1
select * from ja_en where src = 'れはテストです' limit 1
select * from ja_en where src = 'れはテストで' limit 1
select * from ja_en where src = 'れはテスト' limit 1
select * from ja_en where src = 'れはテス' limit 1
select * from ja_en where src = 'れはテ' limit 1
select * from ja_en where src = 'れは' limit 1
select * from ja_en where src = 'れ' limit 1
select * from ja_en where src = 'はテストです。' limit 1
select * from ja_en where src = 'はテストです' limit 1
select * from ja_en where src = 'はテストで' limit 1
select * from ja_en where src = 'はテスト' limit 1
select * from ja_en where src = 'はテス' limit 1
select * from ja_en where src = 'はテ' limit 1
select * from ja_en where src = 'は' limit 1
select * from ja_en where src = 'テストです。' limit 1
select * from ja_en where src = 'テストです' limit 1
select * from ja_en where src = 'テストで' limit 1
select * from ja_en where src = 'テスト' limit 1
select * from ja_en where src = 'です。' limit 1
select * from ja_en where src = 'です' limit 1
select * from ja_en where src = 'で' limit 1
select * from ja_en where src = 'す。' limit 1
select * from ja_en where src = 'す' limit 1
select * from ja_en where src = '。' limit 1

感想


はじめの5文字くらいをストアドファンクションで処理して、後はプログラム処理する2段階とかのが合理的?
つまり最後ではなく最初から探していって、'こんにちは%'までとってくるところまでやるべき?