0

学生情報を含むデータベースがあり、次のフィールドがあるとします。

1) 年齢層 2) コース名 3) 出身国

検索機能を作成する場合、ユーザーが次の条件に一致する学生を検索したいと想定した方がよいでしょうか。

年齢層 OR コース名 OR 出身国?

それとも、ユーザーがすべての基準 (つまり AND ロジック) を満たす学生を検索したいと考えるべきでしょうか?

ベストプラクティスは何ですか? ほとんどの場合、OR を意味すると思います。OR が最も多くの結果をもたらすからです。

どう思いますか?

フィードバックをありがとうございました!!

4

3 に答える 3

0

これらすべてのフィールドに対していつでも fulltextindex を作成してから、インデックスに対して検索を実行できます。

CREATE FULLTEXT INDEX giveitaname ON mytable (agefield, coursename, country); 

次に、次のようにインデックスをクエリします。

SELECT * FROM mytable WHERE MATCH(agefield, coursename, country) against ('%search_variable_here%')

これで、部分的な単語、不一致の順序で検索が機能し、より関連性が高くなり、ゼロの結果が少なくなる可能性があります。

それまでの間、特にインデックスが適切に設定されている場合は、OR または AND の間の負荷について個人的にはあまり心配しません。使用しているデータ セットと、ユーザー ベースにとって最も直感的で関連性の高いものに基づいて選択する必要があります。

于 2013-01-26T05:39:19.437 に答える
0

それが大きな懸念事項である場合は、人々に選択肢を与えてください。それ以外の場合は、一般的な使用方法に依存します。AND が表示されることを期待しているので、最も限定的な出力を生成でき、不要なものをふるいにかける必要はありませんが、ユーザーベースがどのようなものかはわかりません。あなたは彼らに尋ねるべきです。

于 2013-01-26T02:10:03.527 に答える
0

これは、ユーザー フォーカス グループの優れた候補です。(ソフトウェア製品や社内アプリケーションとは対照的に) フォーカス グループを組織することができないサイトを構築している場合は、アンケートや連絡フォームの形でユーザーからのフィードバックを求めることができます。

于 2013-01-26T02:13:34.610 に答える