?

Log in

No account? Create an account
Человек из Кумертау
December 9th, 2015
10:54 pm

[Link]

Previous Entry Share Flag Next Entry
Нетривиальные сценарии при поиске
Думал о некоторых вариантах при поиске с фильтрами в каких-нибудь системах, например, товаров в магазине или людей в соцсети.

Первая идея: включать пустые значения. Я ищу Ивана Петрова и знаю, что он родился в 1975 году. Я ввожу все эти параметры. Тривиальный поиск покажет всех Иванов Петровых, которые указали 1975 год рождения. Более умный поиск должен включить и тех, кто не указал год рождения, а, возможно, также и тех (с ремаркой), кто родился в 1974 или 1976: возможно, я знал возраст и текущий год, получив 1975 вычитанием, и не учел (или не знал), был ли в этом году день рождения (1976 проверяется, чтобы компенсировать возможную неверную поправку, которую я сделал).

Идея номер 1,5, более простая: сделать отдельный вариант для пустого значения. В тривиальном случае, если я не указал фильтр по году, никакой фильтрации нет. Умный поиск должен дать мне возможность поставить галочку, по которой мне бы вывелись только те, у кого год не указан.

Вторая идея: указание релевантности без фильтрации. Я ищу Петра Иванова, который позиционирует себя как ахааравист. Я ввожу это имя в поиск и "ахааравизм" в поле "религиозные взгляды". Тривиальный поиск применил бы оба эти фильтра; я бы увидел его или никого (он мог и не ввести ничего или написать что-нибудь другое в это поле). Более умный поиск вывел бы мне всех Петров Ивановых, но если бы среди них нашлись какие-нибудь ахаарависты, он бы вывел их первыми.

Вторая идея необязательна (я могу сделать два поиск), но с ней удобнее. Если идея номер 1,5 реализована, то первая необязательна (тоже можно сделать два поиска), но с ней удобнее (но если нет ни первой, ни полуторной, то подобный поиск технически невозможен). Чем больше критериев, тем больше пользы было бы от такого умного поиска.

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

Это не должно таким оставаться.

Tags: , , ,

(1 comment | Leave a comment)

Comments
 
[User Picture]
From:alaric_
Date:December 9th, 2015 08:43 pm (UTC)
(Link)
Второе в Яндексе, например, более менее реализовано. Запрос должен быть примерно таким: +(Петр /1 Иванов) ахааравист
"+" требует, чтобы то, что стоит после него присутствовало обязательно, а остальное пойдёт по остаточному принципу.

Что касается фильтров в тех системах, где есть фильтры, то, на данный момент, хорошо, если они вообще там есть и хотя бы поддерживают нормальную множественную фильтрацию с понятным и не слишком тормозным интерфейсом :) Потому что зачастую даже это есть далеко не везде.
общение во многом здесь Powered by LiveJournal.com