web-dev-qa-db-ja.com

検索対フィルター-違いは何ですか

ユーザーの視点から(技術的な視点からではない)-特定の結果を得るために、データの検索とフィルタリングの主な違いは何ですか?

つまり、どちらの場合でも、ユーザーは特定のデータを探しているので、なぜそれを見つけるためにどの方法が使用されているかを気にする必要がありますか?...

これら2つの方法はほとんど同じだと思いますか(ユーザーの目で)?

そうでない場合、それぞれをいつ使用しますか?

84
Ido

非常に短い答え(時間が押された!):

フィルタリングは、既存の完全なリストを取得し、一致する/しない条件に基づいてアイテムを削除します。

検索は空白のスレートを受け取り、一致/しない条件に基づいてそれに追加します。

113
Alastair J

別の見方:ほとんどの状況で、特にタスクが既知のアイテムクエリでない場合、検索者は、ターゲットを取得するために入力する必要がある正確なキーワードを知りません。そのため、彼らが使用しているメカニズムや機能は「検索」ですが、実際には情報スペースを探索して閲覧したいと考えています。 Jared SpoolとUIEには exploredthistopic があります

フィルタリング-反復的なファセット検索について話している場合、ユーザーはあいまいな用語を入力してから、それを反復的に絞り込むことができます。これは "アクティブユーザーのパラドックス" の動作です。

これらの「アクティブユーザー」は情報スペースについて学ぶ時間がないので、先に進んで検索します。その検索の結果を受け取ると、情報スペースについて学習し、クエリを調整/再起動します。

タイムリーなフィードバックの設計原則は、このエクスペリエンス全体を通して機能するため、「スポットライトスタイル」の結果はすべて、クエリに情報スペースとユーザーの元の意図を反映させるのに役立ちます。

これらの両方のテクニックの良い例として、 John Lewis にある新しいテレビや、任意の数の電子商取引サイトを見つけてみてください。

15
David Jarvis

私はアラステアの答えが好きですが、少し追加します。

Filter:名前などの単一の基準に基づいてのみフィルタリングし、順序をそのまま残します

Search:boosting など、すべてのメタデータと複雑なアルゴリズムを検索に適用します。最良の結果を最初にランク付けする必要があるため、検索はより複雑になります。 (例:Google)フィルタリングはそれを気にしません。

14
Glen Lipka

技術的な観点から、2つは基本的に同じです(つまり、いくつかの基準に基づいて、リストから要素を除外します)

ユーザーの観点からは、非常に異なります。

検索は、データを取得する最初のステップとして実行されます

フィルタリング検索の前に適用されます。

さらに、フィルタリングは通常、ブールフラグまたは範囲(最大価格$ 100など)を使用して実行されますが、検索入力は通常、ユーザーが手動で入力したフリーテキストです。

9

データフィルタリングは何十年もの間、スプレッドシートとデータベースソフトウェアで使用されてきました。フィルタリングは、通常、完全なデータセットから始めて、関連する結果にフィルタリングします。フィルター基準はデータモデルと相関する必要があります。フォームに関する限り、はい、キーワードのみのフィルターは基本的に検索と同じです。高度な検索はフィルターフォームに似ている可能性があります...結果から始めて、それから減算するのですか、それとも結果なしで始めて、関連するものだけを表示するのですか?

5
Nathanael Boehm

ぱりっとした

検索はlocateに使用され、結果のセットを表示します。一致した基準に基づいてデータを表示します。

フィルターは、現在表示されている結果から結果を非表示に使用されます。一致した基準に基づいてデータを削除します。

4
Rupesh Nath

検索したいものがわかったら検索します。検索はアクティブです

何を探しているのかわからないときにフィルターをかけます。フィルタリングはパッシブです

私はエッセイでそれを少し探りますフィードのスレーブ-これは私たちが探していたリアルタイムではありません

3
ThomPete

ここには本当に良い答えがいくつかありますが、少し異なる視点から何かを貢献したいと思いました...時間。

結果を制限するために純粋にフィルターを使用している場合、最も一般的な期待は、フィルターされているリストが「ライブ」であり、リストがフィルターされていない場合と同様に、値が定期的に変化することです。

一方、検索は「特定の時点」を捉える傾向があります。 「foo」を検索し、オブジェクトに一致する値がある場合、オブジェクトは検索結果の一部です。 1分後(または任意の間隔)、そのオブジェクトの 'foo'の値が 'bar'に変化した場合、結果セットは変更されません。 (少なくとも、次に検索を実行するまで)

時間の変化に基づいて検索結果が表示されたり消えたりしてはいけません。一方、フィルターされたデータは、データの基本セットが時間とともに変化する場合、時間とともに変化する可能性があります。

3
Josh Johnson

ユーザーの視点:

似ているが同じではない!

フィルターはconstraints(UIで提供)ユーザーが選択結果を制限することです。検索では、ユーザーのinputキーワードに基づいて、関連するすべての結果が表示される傾向があります。

通知:ユーザーは、UI(ユーザー選択)で[〜#〜] available [〜#〜]であるフィルターのみを選択できます。彼らが検索するとき、彼らはそこに何でも書くことができます! (ユーザー入力)。

この例を見て、自分で適用してください。つまり、購入したい場合Adidas Running Sneakersです。

ほとんどの場合、[検索]テキストボックスに移動して、「Adidas running sneakers」と入力します。これにより、AdidasまたはRunningまたはSneakersに固有の多くの結果が生成されます。おそらく、最初の結果ページ(正確な結果)でAdidasランニングスニーカーが表示されます。しかし、結果を閲覧し続けるほど、精度は低くなります。アディダスかもしれませんが、[〜#〜] not [〜#〜]ランニングスニーカー、その他のブランドのランニングスニーカー、そして正確な結果からどんどん遠ざかっていきます。

ここで、Adidas Brandを使用してフィルタリングする場合は、のみ Adidasを取得する必要があります。Runningを使用してフィルタリングする場合は、only Runningを取得する必要があります...など。

フィルタリング非常に正確に聞こえます。ただし、これらのフィルター(ブランド=アディダス、タイプ=実行中、...など)がUIのオプションとして提供されていませんである場合、検索が提供されます。

2
Mo'ath

興味深い質問です。 IMO-通常は画面上でサブセットデータをフィルタリングしますが、検索はより大きなユニバースからデータを見つけるために使用されます。宇宙の大きさを考えなくてもね。 1つは基準に基づいてサブセットを取得し、もう1つは一致に基づいて結果を返します。

2
Sushant Anand

通常、searchは、ユーザーが入力した世界を含む結果を選択するために使用されます。 フィルターは、特定の基準に一致/一致しない結果を選択するために使用され、より複雑です。フィルターにはクラシック検索を含めることができ、高度な検索/フィルター付き検索として表示できます。

1
Madalina Taina

フィルタリングでは特定の印象が提供されるのに対し、検索では一般的な印象が提供されると思います。印象とは、ユーザーが上記のアクションを実行しているときに感じる人間の印象です。例:Apple=果物と野菜の入ったバスケットから選ぶとしましょう;

  • filter:「フルーツ」でフィルタリングし、リンゴを選びます
  • search:Appleを検索します(Appleが果物であるかどうかわからない場合)!)
1
Nadee

フィールドフィルターと検索にパレートの法則(20/80)を適用できると思います。

  • フィルター:ユーザーの80%に回答するには、「基本」フィールドに関する一般的な情報を見つける必要があります。
  • 検索:ユーザーの20%に対する回答は、高度に洗練されたアルゴリズムを使用して、特定の分野に関する特定の情報を見つける必要があります。

よろしく、

1
Michaël

これは視覚的な例です。私はこれを高度な検索およびフィルタリングとして構築しました。ユーザーはランダムなキーワードを入力してすべてのデータを検索しますが、特定のフィルターを追加して検索を絞り込むこともできます。お役に立てば幸いです。

enter image description here

1

検索は結果を追加し、フィルタリングは結果を削除します。

これの良い例はebayです。検索用語を入力すると、多くの結果が得られます。その後、カテゴリ、価格、場所などでフィルタリングして、不要な結果を削除します。

http://www.ebay.com

1
FranMowinckel

純粋にユーザーの観点から-この議論が始まった場所-私は次のように2つを区別します。

  • 探しているものがわからないときに検索します。
  • 人々は彼らが探しているものを正確に知っているときにフィルターをかけます。

ユースケースは異なります。一例として、幼い頃に育てたライオンと再会した男について、YouTubeに非常に興味深い動画があると聞いたことがあるかもしれません。探している正確な動画(タイトル、長さ、誰がアップロードしたか、いつアップロードされたかなど)がわからないので、「カブ、ライオン、再会、所有者、おとこ。"戻ってくるのは、私のキーワードに基づいた関連動画のリストです。これらのキーワードを別の方法で再入力した場合(一部を削除、他を追加、順序を変更)、別の結果セットを取得します。

このシナリオでは、私がビデオを探していることを知っており、主題を知っていますが、返される特定のビデオを知りません(またはおそらく気にさえします)。実際、私は20以上のビデオを手に入れていますが、すべて手元のトピックに関係しています。しかし、私が探しているビデオが白黒で、2010年5月10日に作成され、長さが2:29であることがknowである場合、フィルタリングが最善の策です。この場合、すべてのビデオから始めて、探しているビデオが見つかるまでリストを絞り込みます。

ここでのポイントは、ユースケースが異なり、ユーザーのニーズが異なるため、ソリューション/機能が異なることです。ユーザーは両方(検索とフィルター)を実行できますが、同時に実行することはできません。これがソリューションフォークとして私たちにとって意味することは、これらのシナリオを混同したり、類義語として「検索」と「フィルター」を誤って使用したりしないことです。私たちは常にビジネスニーズとユースケースから始めて、それらがソリューションを推進するようにすべきです。

0
cozuzu

私の経験から

検索:ユーザーが詳細を知らないか、ユーザーが詳細を掘り下げたくない場合、キーワードを入力すると、関連する一般的な結果が表示されます。

フィルター:ユーザーが検索から希望の結果を取得しなかった場合、またはユーザーが特定の用語を知っている場合、フィルターセクションで特定の属性を適用して詳細を調べ、希望の結果を取得します。 。

0
Niraj Shakya

1つのケースは、アイテムのリストがある場合です。アイテムの名前がわかっている場合は、この名前で検索します。通常はテキストフィールドです。これで、その名前のアイテムが20個あるので、今月作成されたこのアイテムをフィルタリングします。概要:文字列/値のフィルターをいくつかの特性で検索します。

0
Giu Vicente