web-dev-qa-db-ja.com

「先行型」および「ほぼ一致」の検索動作のベストプラクティス

B2Bアプリのユーザーディレクトリウィジェットに取り組んでいます。検索機能はウィジェットの最も重要な部分です。現在、2文字の後に先行入力の結果が表示されています(したがって、ユーザーが「bo」と入力すると、表示される結果はBob GundersonnとSarah Flamboeになります)。これは問題ありませんが、ほぼ一致するかファジー検索を処理する方法については意見が分かれています。

Stevenと入力してStephenを意味する場合、近似一致を許可すると役立ちます。しかし、システムに追加されていないため作成する必要があるJennifer Barkerを入力すると混乱する可能性があります。また、Jian JanやJeremy Simonなどの結果が表示されます。 (現在取得中です)。

先行入力機能がない場合は、ユーザーが正式な検索を入力するのを待って、「一致するものがありませんでした。……」と言うだけで済みます。入力している可能性のある結果が生成されており、そのリストは動的かつ迅速に変更されます。

この振る舞いの最良の解決策は何だと思いますか?

5
Jason Grover

私は多くの検索エンジンソリューションに取り組んできましたが、あなたが説明するように、いくつかの広範なタイプの検索があります。

ユーザーは特定のオブジェクトを念頭に置いています。彼らは物事の略語を使用します。彼らは特定のことを心に留めておらず、検索エンジンがさまざまな可能な解決策を提供することを望んでいるかもしれません。

最後のケースでは、先読みロジックを書くのは非常に難しいので、最初の2つのタイプの検索を実際に法制化しています。

最初の方法は最も簡単で、実装する必要があり、確立されたパターンです。もう1つは、但し書きでユーザーが使用する一般的な略語の数が限られていることです。それ以外の場合は、気にしないことをお勧めします。

概要:同じ値に一致する先読み検索結果。一般的な検索動作の証拠がない限り、あいまい検索や略語を立法化しないでください。

しかし、これは先読みパターンの半分の話にすぎません!タグ付け、キーボードショートカット、ホバー動作などの問題については、こちらをご覧ください。

https://baymard.com/blog/autocomplete-design

1
colmcq