Каков рекомендуемый минимальный предел символов для автозаполнения /фильтрации?

Мы хотели бы предоставить нашим таблицам общее поле поиска, которое будет фильтровать записи, в которых по крайней мере один из столбцов содержит входной текст. Мы также думаем об автообновлении для этого поля поиска так или иначе. Чтобы это было ясно, это тип, который фильтрует /автоматически завершает , а (пользователь) печатает .

Мои вопросы: существует ли минимальный предел символов до того, как механизм фильтрации начнет действовать?

В случае отсутствия производительности при поиске одного символа, должен быть минимум в любом случае? или эта практика стала обычной из-за проблем с производительностью.

7 голосов | спросил Assimiz 19 Mayam15 2015, 10:59:12

4 ответа


2

Это зависит от конкретного варианта использования, но не требуется согласованного минимального количества символов, которое требуется перед выполнением фильтрации. Если слишком много результатов можно вернуть, ограничьте начальный набор, желательно, скорее всего, (если это можно определить) или какой-либо другой показатель, например, самый последний. Если вы используете Chrome, попробуйте его. Введите один символ в строке URL, и вы получите результаты. Это имеет смысл там, потому что может придумать хорошие предложения даже с одним символом.

Правило большого пальца, которое я бы использовал, заключается в том, что (при отсутствии соображений производительности) оптимальное число зависит от , сколько символов необходимо для вашего алгоритма, чтобы предложить предложения, которые пользователь найдет полезным .

ответил illuminaut 20 Mayam15 2015, 02:38:22
8

Честно говоря, это контекстуально. Для одного слова, как правило, 2-4 буквы сохраняются как минимум, чтобы инициировать функцию автоматического завершения. Для этого есть как минимум две причины.

Одним из них является производительность, как вы указали. Нет необходимости запускать фильтрационный вызов, когда вы знаете, что результирующий набор данных будет огромным.

Второе - количество результатов, которые вы хотите показать, чтобы уменьшить когнитивную нагрузку пользователя. Автоматическая полная информация, которую вы предлагаете, должна быть непосредственно полезной для пользователя, пока это не будет отвлекать. Просто потому, что мы можем, мы не должны начинать предлагать A для Apple и A для боеприпасов одновременно.

  

Чтобы уменьшить эту когнитивную нагрузку, такие параметры, как сокращение   список до пяти вероятных слов и с вертикальной компоновкой этих   слова могут быть использованы. - Wiki , Original Reference - статья 1985 года, я не мог найти ее здесь.

Первые три буквы служат двум целям. Они сужают результаты до управляемых пределов в то же время, предлагая вещи пользователям, которые имеют значение.

Сказав, что, когда я говорю, что это контекстуально, это означает, что есть два множества записей, имеющих общий набор символов. Если это бизнес-пример, то это должно быть учтено.

ответил Harshal 19 Maypm15 2015, 12:03:27
3

Просто добавьте комментарий @merqri : вы можете рассмотреть функцию, в которой пользователь вводит строка фильтра получает информацию (это может быть приближение), сколько результатов есть.

Если количество результатов сужается до, например,. пять, вы можете показать их даже после двух символов.

Взгляните на функцию автозаполнения MS Excel: у вас есть несколько текстов (строк) в ячейках выше того, в котором находится пользователь. Если он начнет печатать, автозаполнение активируется, но только если есть только один результат, чтобы соответствовать предыдущие записи. Например, если у вас есть месячные имена, если вы наберете F, то достаточно заполнить до February, но вы должны ввести Jun, чтобы получить June, потому что Ju находится в обоих June и July и J также применим для January. Аналогично для March и May (два первые символы общие) и April и August (только самые первые).

Итак, если вы можете эффективно работать с фильтрацией «на лету», не бойтесь начинать сопоставление даже после того, как пользовательские типы первого символа. Это также информация для него, что он печатает правильно, что имеет смысл. Вы можете сообщить пользователю, например. Found ca. 2,500 matches. Type more characters to narrow down search results

ответил Voitcus 20 Mayam15 2015, 00:41:29
2

Следует различать точные результаты для автозавершения /фильтрации и неточные.

Коллега пожаловался мне, что в большинстве случаев для него очень важно искать или использовать /упоминать свой профиль на многих сайтах, потому что, когда он полностью набрал свое имя, автозаполнение не влезает. Его зовут Ли. Одно из самых популярных имен по всему миру.

Итак, вы должны начать искать точные результаты, как только что-то напечатано (или, может быть, если набрано не менее двух символов).

Неточные результаты поиска должны быть начаты, если ожидаемое количество результатов достаточно мало. Если вы показываете результаты m из общего числа n возможности для автозаполнения /фильтрации, чем в качестве исходной оценки используйте m >= log_a(n) где a - это размер алфавита, обычно используемый в результатах.

ответил SpaceTrucker 20 Maypm15 2015, 12:41:37

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132