0

クライアントのために取り組んでいるオートコンプリート検索ボックスがあります。データベースは SQL Server にあり、大量のデータ セットがあります。

データベースに対して標準の LIKE クエリを実行できましたが、これはそれほど問題ではありませんが、クライアントからいくつかの要件がありました。

検索キーワードが「ロンドン空港」だとしましょう

表示される結果には、一定の優先順位が必要です。優先基準は次のとおりです。

  1. London と Airport が一致する結果が一番上に表示される必要があります。例:ロンドン空港、ロンドンメイン空港など
  2. 都市フィールドと一致するため、London の結果が続く必要があります。
  3. 空港はカテゴリ部分であるため、その後に続きます。

要件は、実際には最初に英国の結果を含めることですが、私はすでにそれを処理しています.

テーブルが

空港名 | 国 | 都市 | geo_id など。

キーワードを結果のテーブル行に分割するテーブル関数を作成し、LIKE '% split_table.result %' のようなクエリを実行しました。

問題は 1 番目の基準でもあります。上記のアプローチは OR クエリを実行しており、ロンドンと空港のみの結果を表示しています...ここで AND クエリを実行したいので、分割テーブル関数を使用できれば幸いです。作成しました。

これらの優先順位を設定する方法について、いくつかのアイデアが必要です。

私は本当にいくつかの助けを適切にしたいと思います。

4

2 に答える 2

0

SQLサーバーを使用しているので、これが役立つことを願っています

http://technet.microsoft.com/en-us/library/ms142559%28v=sql.105%29.aspx

于 2013-09-22T10:48:56.387 に答える