私はASP.NET Webサイトでタグを実装しています。いくつかのアルゴリズムを調べた後、私は1つ以上のタグ語を含む2つのデータベース列を持つように傾いています。次に全文検索を使用して、指定されたタグを持つ行を検索します。1つ以上の列に一意の単語を見つけるか?
これはすべて、1つのことを除いてはまっすぐだと思われます。ユーザが選択できる利用可能なタグのリストを生成できる必要があります。
私は、利用可能なタグのリストを作成して毎週またはそれを実行するためのC#プログラムを書くことができますが、これをより効率的に処理するためのSQLメソッドがあるかどうかは不思議でした。
また、フルテキストインデックス作成の一環として単語が抽出されることに気付くことはできません。私はその情報にアクセスする方法はないと思いますか?
あなたはどのバージョンですか? SQL Server 2008では、このフルテキストインデックスのクエリが可能ですが、なぜ列ごとに複数のタグを格納していますか?これは正規化された音ではありません。特定のタグを持つすべてのエンティティを検索する必要がありますか?もしそうなら、あなたはそれをどうやって計画していましたか? 'LIKE '%tagname%''などを使用していますか? –
はい、SQL Server 2008です。私はまだそれを取り除いていますが、私のケースでは、 "プラットフォーム"、 "言語"などのようなさまざまなものにタグを付けると役に立ちます。 'LIKE '%tagname%''パフォーマンスについて何も気にしなかったなら、素晴らしいアイデアになります。上記のように、私はフルテキスト検索を使用する予定です。 –
私はそれがあなたの計画が何であるか不思議に思っていたことを示唆するものではありませんでした。これは私にとってかなり悪い考えです。タグの名前を変更するなどの作業は、全文検索のすべての不明瞭さや、タグ名に含めることができる特殊文字を扱っていることなど、かなり苦しいでしょう。 (あなたのタグのようなサウンドはプログラミング指向です - 私は 'C#'のようなタグがフルテキストで索引付けされる方法はわかりません) –