m-dob****@rozet*****
m-dob****@rozet*****
2015年 4月 21日 (火) 14:40:50 JST
須藤さん ドブリンです。 >mroonga_match_escalation_thresholdという変数の値を-1に設定し >てください。 それで解決しました。ありがとうございます! >どうして古いMroongaだと発生しないのかしら。。。 ためしに、mroonga_match_escalation_thresholdを「0」に変えたんですが、 結果が変わらないようです。。。 ドブリン マイケル Kouhei Sutou <kou****@cozmi*****>さん: > 須藤です。 > > In <JR201****@rozet*****> > "[groonga-dev,03178] FULLTEXT検索をするときに、関係ないデータを拾っ てしまいます" on Mon, 20 Apr 2015 12:58:06 +0900, > m-dob****@rozet***** wrote: > > > 下記の問題を解決する提案があれば、教えてください。 > > mroonga_match_escalation_thresholdという変数の値を-1に設定し > てください。 > > http://mroonga.org/ja/docs/reference/server_variables.html#mroonga-match-escalation-threshold > > SQLで言うとこうです。 > > SET GLOBAL mroonga_match_escalation_threshold = -1; > > my.cnfに書いてもいいです。 > > > 古いmroongaバージョンですと、問題は再現しないので、その古いバージョ ン > > の動作に合わせることができれば、そうしたいと思います。 > > どうして古い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); > > > > > > すると、関係ないセンテンスをヒットしてしまいます。。。 > > 何かアドバイスがありますか? > > > > > > よろしくお願いします。 > > ドブリン マイケル > > > > _______________________________________________ > > groonga-dev mailing list > > groon****@lists***** > > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev