2012-02-17 8 views
2

あなたはそれが良い考えだと思いますか?検索インデックスにsqliteを使用しますか?

オブジェクトIDとともに、sqliteデータベース内の実際のデータベースからのキーワードの保存に似ています。あなたが検索したときに、あなたが見つけたオブジェクトのIDを取得するためにsqliteでそれを行い、それらのIDを使って実際のデータベースに問い合わせます。 MySQLのDBから

例オブジェクト:

ID slug  title  content 
_____________________________________________________________________________ 
5 bla-bla Bla Bla  I know what you did last summer 

これは次のようにsqliteの中でインデックスを取得します:

ID keywords 
_____________________________________________________________________________ 
5 know, summer, last, what 

または多分

keyword  objects 
    _____________________ 
    know  5, 6 
    summer  5 
    lst   5, 7, 10 
    ... 

いますが、巨大なデータベースになるだろうおそらく英語の語彙を考慮して〜15000件のエントリで

答えて

1

データベースのアイデアは、クエリ操作を非常に迅速かつ効率的に実行できることです。

一方、dbiteをセットアップする必要がないため、SQLiteは開発目的に最適なツールです。しかし、同時に、効率的に、あるいはまったく同時に多くの同時接続を処理することができないなどの特定の側面があります。

したがって、私の意見では、SQLiteは多くのクエリを処理することができず、データベース全体の目的を破ることができないため、推奨されるアプローチは最良ではありません。

すべてのクエリを処理できる高性能のDBを維持するだけではずっと良いかもしれません。そして、通常などのMySQL、PostgreSQLの、

EDIT

だけの思考としてあなたはデシベルを最適化することができる方法のトンがあります。たぶん文字列を単語に分解し、キーワードとして扱うのは最善の方法ではありません。問題は、特定のキーワードがシステムのどこかで使用されたが、キーワードがどこから来たのかのコンテキストと優先順位を考慮しない場合にのみ、検索が戻ってくるということです。私は検索について多くのことを知らないが、ある種のランク付けシステムを持つことは有益なようだ。

2

しかし、あなたはおそらく〜15000のエントリ

15,000レコードを持つ、巨大なデータベースになるだろうMySQLおよび他のほとんどのRDBMSのためのケーキの一部です。あなたはにする必要があります。フルテキストインデックスとsearchingを利用できるように、MyIsamテーブルにテキストを設定します。

関連する問題