###質問事項
Twitterを作ろうって思ったら、あの検索性って、Toxi法ではなくフルテキストインデックスで事足りますか?それともToxi法を採用すべき理由ってありますか?
先日フルテキストインデックスという機能を知り、これがあればToxi法なんていらないじゃん。と思ったのですが、みなさんがTwitter作ろうって思ったらどうするかアドバイス頂けましたら幸いです。
以下に、DB設計と検索の流れについてToxi法とフルテキストインデックスを比べました。やはりテーブルが1つで済むフルテキストインデックスで事足りるような気がするのですが、どうなのでしょうか..?
###Toxi法
3つのテーブルを作る
・「朝食」の検索時はtweetsテーブルを検索する。
・「#朝食」の検索時はtagsテーブルを検索し、relationsおよびtweetsテーブルとjoinする。
tweetsテーブル
ID | user_ID | tweet |
---|---|---|
1 | 1 | おはようございます。 #朝食 はこちらです |
tagsテーブル
ID | tweet_ID | tag |
---|---|---|
1 | 1 | 朝食 |
relationsテーブル
tweet_ID | tag_ID |
---|---|
1 | 1 |
###フルテキストインデックス
1つのテーブルだけ作りフルテキストインデックスを使う
・「朝食」の検索時はtweetsテーブルを検索する。
・「#朝食」の検索時もtweetsテーブルを検索する。
tweetsテーブル
ID | user_ID | tweet |
---|---|---|
1 | 1 | おはようございます。 #朝食 はこちらです |