Ну и вот.
В далеком научном прошлом был хороший принцип: "отрицательный результат – тоже результат". Это не всегда получается, но к этому нужно стремиться.
Пример: Вася-Петя экспериментально выясняет нечто. Если нечто удалось – отлично. Если не удалось – упс, положительного результа нет, а отрицательный ничего не означает – время потрачено зря. Ну, тут все понятно – это про правильную постановку экспериментов. Избегаем неправильной постановки экспериментов.
Так и с поиском то же самое. Юзер задал запрос (он, кстати, привык по умолчанию, что слова в документе должны быть близко к словам в запросе – порядок и дальность) – и ничего не нашлось. Это результат или нет?
Конечно, это результат. Это означает, что нужно переформулировать запрос (или насильно включить специальный режим "мягкого" поиска).
Отрицательный результат не менее важен, чем положительный.
Теперь начнем высер.
Я недавно видел какую-то стату по запросам в яху, по которой получалось, что на 6% запросов дается пустой ответ – ничего не найдено. Не знаю, сколько было аналога в яндексе (когда были живы контекстные ограничения), но думаю, больше (у яндекса база меньше, значит, пустых ответов на НЧ запросы больше). Допустим, 10% "ничего не найдено" было – разумно.
И я уже себе представляю это в красках. Сидит в яндексе какой-нибудь хуй. Которому дали задание "углубить и расширить". Чтобы увеличить удовлетворение пользователя, нах! Степень удовлетворения рисуеццо на графике. Ну, там, меры всякие, DCG и pfound и все такое. И у гугля оно выше, за это менеджеру отдельно вставляют.
И тут этого менеджера пробивает мысль! Хуяк! Это как это мы на 10% запросов выдаем пустой ответ! (удовлетворение юзера от такой выдачи по их мерам равно нулю).
И возникает мысль. Давайте выдавать, если ничего не найдено – не пустой результат, а какую-нибудь околорелевантную хуйню. На ней же удовлетворение будет всяко выше нуля.
PROFIT!!!
…вот так просто: берем и на дороге находим 10% бумажной эффективности. От показа разной хуйни тогда, когда следует показать "ничего не найдено".
…так в Яндексе появилась релевантность "all" примерно 2 года назад.
Если нужна справка – см. в яндекс-ХМЛ, там есть несколько типов релевантности – фразовая phrase (совпадает порядок слов), стриктовая strict (слова не очень далеко друг от друга с контекстными ограничениями и с кворумами-весами), и вся-остальная-хуйня all (слова есть вообще в документе и она очень-очень мягкая). Она и раньше существовала, но вылезать во всех местах в выдаче она стала как раз вот тогда.
Этот приоритет нужно только в ХМЛ смотреть.
Но, конечно, идея "показывать любую околорелевантную хуйню, когда ничего не найдено" не вписывается в план и общую формулу. Значит, план надо переписать.
… и "all"-документы появляются в выдаче наравне с релевантными документами. Это давно еще было.
Пробейте свои любимые НЧ – и посмотрите в ХМЛ. Обнаружите удивительную связь нерелевантных результатов с relevance priority="all"
_______________________________
Ну а юзер что? Юзер заходит, видит, что на его НЧ вместо разумного ответа (ничего нет = переформулируйте запрос) выдается какая-то помойка, где слова из запроса разбросаны по всему документу.
И думает: ну его на хрен, такой поиск, херню какую-то ищет.
_______________________________
Потому, что для юзера отрицательный результат тоже важен. Его бла-бла-бла с релевантностью all не интересует. Пусть даже она около- и на ту же тему.