Kouhei Sutou
kou****@clear*****
2012年 4月 30日 (月) 10:28:52 JST
須藤です。 In <725951B05D124E7F841F56AB7A1E0CCA @ winxp130> "[groonga-dev,00797] Re: mysql-replicationでの mroongaの利用" on Mon, 30 Apr 2012 10:04:02 +0900, "nn2480" <nishi****@webre*****> wrote: > mroongaを利用させてもらっており、 > 大変ありがたくぞんじます。 ありがとうございます! > 現在、検索キーワードで、たとえば、 > 「旭山動物園」といれると、動物、動物園 なども表示されるのですが、 > これを、旭山動物園に関するものだけに絞りたいのですが、 > その方法をお教え頂けないでしょうか? > > 私がトライしたSQL文は、下記です; > 1)select name from book where match(mecabtxt) against("+旭山動物園"); > 2)select name from book where match(mecabtxt) against("旭山動物園"); > 上記は、同じ結果になります。 以下のように「in boolean mode」をつけると期待した動きになる と思います! select name from book where match(mecabtxt) against("+旭山動物園" in boolean mode); select name from book where match(mecabtxt) against("旭山動物園" in boolean mode); 単にmatch(...) against("...")と「in natural language mode」 というのを指定したのと同じ意味になって、この場合は類似文書検 索するようになっています。(今回のリリースから) 類似文書なので「旭山動物園」で、「動物」などが含まれる文書も ヒットします。 参考 MySQL :: MySQL 5.1 リファレンスマニュアル :: 11.7 全文検索関数: http://dev.mysql.com/doc/refman/5.1/ja/fulltext-search.html -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) プログラミングが好きなソフトウェア開発者を募集中: http://www.clear-code.com/recruitment/