warp kawada
warp.****@gmail*****
2014年 8月 15日 (金) 14:59:30 JST
河田です。
いつも、お世話になっております。質問です。
MariaDB [books]> select * from snippet_test;
+----+-----------------------------------------------------------------+
| id | text |
+----+-----------------------------------------------------------------+
| 1 | あいうえおカキクケコ |
| 2 | あいうえおカキクケコさしすせそ |
| 3 | ハマヤラワンあいうえおカキクケコさしすせそ |
+----+-----------------------------------------------------------------+
というテーブル内容で max_length=12
MariaDB [books]> SELECT text,cast(mroonga_snippet(text, 12, 3,
'utf8mb4_general_ci', 1, 1, '<hit>', '</hit>', 'あ', '<1>', '</1>', 'カ',
'<2>', '</2>', 'コ', '<3>', '</3>') as CHAR) as snippet FROM snippet_test
WHERE (MATCH (text) AGAINST ('*D+ あ カ ハ' IN BOOLEAN MODE)) ;
+-----------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| text |
snippet
|
+-----------------------------------------------------------------+--------------------------------------------------------------------------------------------+
| ハマヤラワンあいうえおカキクケコさしすせそ |
<hit>ン<1>あ</1>いう</hit><hit>お<2>カ</2>キク</hit><hit>ケ<3>コ</3>さし</hit>
|
+-----------------------------------------------------------------+--------------------------------------------------------------------------------------------+
max_length=15
MariaDB [books]> SELECT text,cast(mroonga_snippet(text, 15, 3,
'utf8mb4_general_ci', 1, 1, '<hit>', '</hit>', 'あ', '<1>', '</1>', 'カ',
'<2>', '</2>', 'コ', '<3>', '</3>') as CHAR) as snippet FROM snippet_test
WHERE (MATCH (text) AGAINST ('*D+ あ カ ハ' IN BOOLEAN MODE));
+-----------------------------------------------------------------+---------------------------------------------------------------------------+
| text |
snippet |
+-----------------------------------------------------------------+---------------------------------------------------------------------------+
| ハマヤラワンあいうえおカキクケコさしすせそ |
<hit>ワン<1>あ</1>いう</hit><hit><2>カ</2>キクケ<3>コ</3></hit> |
+-----------------------------------------------------------------+---------------------------------------------------------------------------+
となります。ここで「ン-いう」、「ワン-いう」とハミ出る?部分はヒットした文字列を真ん中に寄せるという仕様なんでしょうか?
常に「-いうえ」「-キクケ」となってくれた方が扱い易いなと思ったのですけど。
どうなんでしょうか?
また、max_length はバイト数よりは文字数であると嬉しいですね。
--
===
Yukihiro KAWADA