mysql:11919
From: "T.Sasaki" <"T.Sasaki" <papasan2000@xxxxxxxxxx>>
Date: 8 Aug 2005 19:11:56 +0900
Subject: [mysql 11919] Re: HEAP テーブルへのあいまい検索の速度
佐々木です。 全文検索機能について、それほど使い込んだわけではありませんが ・・・と前置きして。 例えば分かち書きの単位を3文字と規定すれば、 全文検索で3文字未満の単語は検索できなくなりますよね。 こういった「検索できない」単語が発生する可能性があるものの、 検索文章を「"」で括ると全一致を求めることが出来るなど、 MySQL の全文検索機能はかなり使い勝手が良いと感じています。 「日本語インデックスは使いたくない」理由が不明なので、 あまり強くは勧められませんが、(LIMIT句の指定を前提として) varchar_field に FULLTEXT インデックスを適用すれば、15秒が数秒未満に 短縮される可能性があり、周辺環境を弄るよりも効果的だと思われます。 "川合孝典" <gcd00051@xxxxxxxxxx> wrote: > 川合孝典です。 > > 全文検索フィールドを利用するのはとても簡単ですが、 > 全文検索だとどうしても曖昧さがでてきます(分かち書きで分ける > 単位とか)。 > > 今やっているとおにりのことを実現するとすれば、対象となる > フィールドの文字列のN-Gramとそのレコードのプライマリキーを > 格納したテーブルを別途用意して、それに対して一致するものを > 検索すればとは思います。件数は膨大になりますが、インデックスを > 効きますから、検索は速くなるでしょう。 > (更新や登録は面倒になるでしょうけども) > > ----- Original Message ----- > >Date: Mon, 8 Aug 2005 09:25:0varchar_field0 +0900 > >From: "Ryousuke Wayama" <wayama7@xxxxxxxxxx> > >Subject: [mysql 11914] Re: HEAP テーブルへのあいまい検索の速度 > >To: <ml@xxxxxxxxxx> > > > > > >和山です。 > > > >> HEAPのあいまい検索速度をもっと早くするにはCPUを速くする > >> 以外無いと思えるのですが、正しいでしょうか? > > > >それも確かにひとつの方法ですが、likeでやるのではなく、 > >分かち書きして、Mysqlの全文検索機能を使用すると劇的に > >早くなると思います。 > > >
11912 2005-08-06 18:11 [jiao congmian <melma] HEAP テーブルへのあいまい検索の速度 11913 2005-08-06 21:32 ┣[深海水草 <VYG01106@x] 11914 2005-08-08 09:25 ┗["Ryousuke Wayama" <w] 11915 2005-08-08 11:32 ┗[川合孝典 <gcd00051@x] -> 11919 2005-08-08 19:11 ┗["T.Sasaki" <papasan2] 11951 2005-08-13 10:24 ┗[jiao congmian <melma] 11952 2005-08-13 17:08 ┗[深海水草 <VYG01106@x]