From: Kouhei S. <ko...@cl...> - 2012-09-26 07:38:37
|
Hi, In <CAPFhoJ=DRF...@ma...> "[Groonga-talk] Search Results Don't Match Query" on Tue, 25 Sep 2012 22:12:44 -0500, Mark Rogoyski <mar...@gm...> wrote: > Then, when I search for Japanese strings that are clearly not in the database, > I still get results. For example, the following searches: > SELECT * FROM test WHERE MATCH content AGAINST ("ピザが好き") > SELECT * FROM test WHERE MATCH content AGAINST ("わたしたち") > SELECT * FROM test WHERE MATCH content AGAINST ("好きではありません") Use BOOLEAN MODE(*). For example: SELECT * FROM test WHERE MATCH content AGAINST ("ピザが好き" IN BOOLEAN MODE) SELECT * FROM test WHERE MATCH content AGAINST ("わたしたち" IN BOOLEAN MODE) SELECT * FROM test WHERE MATCH content AGAINST ("好きではありません" IN BOOLEAN MODE) (*) http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html If you don't specify "IN BOOLEAN MODE", "IN NATURAL LANGUAGE MODE"(*) is used. (*) http://dev.mysql.com/doc/refman/5.5/en/fulltext-natural-language.html Mroonga uses similar search for "IN NATURAL LANGUAGE MODE”. So you get records that don't have whole query. Thanks, -- kou |