m-dob****@rozet*****
m-dob****@rozet*****
2015年 4月 20日 (月) 12:58:06 JST
ドブリンです。
下記の問題を解決する提案があれば、教えてください。
古いmroongaバージョンですと、問題は再現しないので、その古いバージョン
の動作に合わせることができれば、そうしたいと思います。
<詳細>
「治療不奏効」を含むセンテンスをDBから取得したいです。
検索しているテーブル内で、分かち書きデータを登録しています。
検索するときに、「治療 不 奏効」をWHERE条件に入れます。
検索した結果を見ると、「治療不成功」を含むセンテンスを拾ってしまいます。
1. ↓の環境ですと、問題は再現します。
Windows Server 2012
10.0.14-MariaDB-log
mroonga 4.0.7
しかし、↓の環境ですと、再現しません。
Cent OS 6.4
mysql 5.5.34-log
mroonga 3.0.8
2. テーブルの定義
CREATE TABLE `WAKACHIGAKI_DATA` (
`self_search_id` int(11) NOT NULL,
`task_id` varchar(40) DEFAULT NULL,
`std_english` mediumtext,
`wa_japanese` mediumtext,
PRIMARY KEY (`self_search_id`),
KEY `index_task_id` (`task_id`),
FULLTEXT KEY `index_so` (`std_english`) COMMENT 'parser "TokenDelimit"
',
FULLTEXT KEY `index_wj` (`wa_japanese`) COMMENT 'parser\n"
TokenDelimit"'
) ENGINE=mroonga DEFAULT CHARSET=utf8 COMMENT='engine "innodb"';
3. INSERT文
INSERT INTO WAKACHIGAKI_DATA
(`self_search_id`,
`task_id`,
`std_english`,
`wa_japanese`)
VALUES
('213932', '056e4cb1-be11-4bba-b558-dda4bbb07981', 'in clinical trial of
combination there be no evidence to suggest that treatment failure be
consequence of metabolic status', '併用 臨床 試験 において 治療 不成功
が 代謝 状態 の 結果 であることを示唆 する エビデンス は 認められ なかっ
た'),
('214084', '056e4cb1-be11-4bba-b558-dda4bbb07981', 'however these
treatment failure achieve higher concentration than many adult and
pediatric patient in other study who be cure of malaria', 'しかし これら
の 治療 不成功 例 は 他 の 試験 において マラリア が 治癒し た 多く の
成人 および 小児 患者 と比較し て 高い 濃度 を達成 した'),
('214085', '056e4cb1-be11-4bba-b558-dda4bbb07981', 'as patient be allow
to leave hospital after day it be more likely that most treatment
failure in this study be due to re infection rather than insufficient
exposure to study drug', '患者 は 日 後 に退院 すること が 許可され たこ
とから 本 試験 の 治療 不成功 例 の 大半 は 治験 薬 への 曝露 が不十分
であったことよりも むしろ 再感染 に起因 した 可能性 が 高い'),
('214097', '056e4cb1-be11-4bba-b558-dda4bbb07981', 'however most study
incorporate limit blood sample and some study include more complete
sample in order to relate any adverse event or treatment failure with
drug concentration', 'しかし 大半 の 試験 では 血液 検体採取 が 十分 に
実施され て いない が 有害 事象 または 治療 不成功 を 薬物 濃度 と関連付
け るため より 完全 な 検体採取 を実施 した 試験 もあった')
4. SELECT文
SELECT * FROM WAKACHIGAKI_DATA where task_id in ('056e4cb1-be11-4bba-
b558-dda4bbb07981') AND Match(wa_japanese) against('\"治療 不 奏効\"' in
boolean mode);
すると、関係ないセンテンスをヒットしてしまいます。。。
何かアドバイスがありますか?
よろしくお願いします。
ドブリン マイケル