Сделайте нормальный поиск

Каждый раз когда пытаешься что-то найти поминаешь не добрым словом разработчиков...
Необходимо ввести столько ограничений и уточнений, что в итоге забываешь что ищешь.
Должна быть возможность поиска в конкретной теме без её выбора (я и так в ней нахожусь и просто не помню на какой из страниц была информация); по умолчанию поиск за последний год (если надо, то я сама увеличу период); по умолчанию поиск по всем сообщениям (тоже без доп.выбора); опция - искать в найденном.

У меня более простая просьба к поиску - сделайте отдельно поиск по заголовкам (без первых сообщений), пожалуйста

Плюсуюсь! поиск просто ад

VictoriaNV: возможность поиска в конкретной теме

Кстати, да, было бы очень удобно, чтобы не листать все 200 страниц в крупных темах.)

Аноним 402: поиск просто ад

А почта? Зачем было "улучшать" все?

Znayka: А почта? Зачем было "улучшать" все?

В почте есть кнопочка « вернуть старый вид», добрые люди подсказали. У меня сейчас все как прежде.

VictoriaNV: Каждый раз когда пытаешься что-то найти поминаешь не добрым словом разработчиков...

Поиску этому 15 лет, зачем Вы 15 лет молчали?

VictoriaNV: по умолчанию поиск за последний год

Вам нужно за последний год, кому-то нужно за всё время.

VictoriaNV: по умолчанию поиск по всем сообщениям

Тоже самое.
Это не обсуждается, ибо субъективно. Собственно поэтому форма с таким количеством возможных опций - как надо так и ищете.

VictoriaNV: опция - искать в найденном.

К сожалению, технически невозможно. Нельзя передать в запрос 100500 ранее найденных идентификаторов. Даже 1000 нельзя.

VictoriaNV: Должна быть возможность поиска в конкретной теме

Мы думаем об этом, пока не придумали как это должно выглядеть

VictoriaNV: без её выбора

Вот тут не поняли, объясните

NickyX3: Вам нужно за последний год, кому-то нужно за всё время.

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

NickyX3: Тоже самое.
Это не обсуждается, ибо субъективно. Собственно поэтому форма с таким количеством возможных опций - как надо так и ищете.

это похоже на "типичный" ответ разработчика, который не хочет ничего менять в своей программе, чтобы не сломать то, что уже работает. Подход совсем не корректный. Вы же сами говорите - поиску 15 лет! Давно его пора оптимизировать и как-то менять под требования пользователей.

NickyX3: К сожалению, технически невозможно. Нельзя передать в запрос 100500 ранее найденных идентификаторов. Даже 1000 нельзя.

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

VictoriaNV: Почему нельзя

Можно. А зачем? © директор по продуктам АвтоВаз.
Мы подумаем, но обещать не будем. Как показала практика, 99.999% пользователей не могут найти галочку в настройках, которая существует 10+ лет, а Вы им еще более сложные галочки предлагаете прикрутить?

VictoriaNV: под требования пользователей

Под требования ОДНОГО пользователя? Собственно поэтому все формы в интернете делаются универсальными.

VictoriaNV: При входе в тему сохраняются данные

При чем тут тема, если мы про «искать в найденном»?

VictoriaNV: все поля, ограничивающие (сужающие) поиск

Объясняю. К примеру в поиске нашлось пусть даже 1000 сообщений. Где и как мы должны запомнить идентификаторы этих сообщений и как их передать в «поиск в найденном», если они в принципе не влезут в размер поискового запроса (собственно и ограниченного 1000 значений в этой части). Да и объем этих данных в сотни и даже в тысячи раз больше, чем собственно фраза, по которой осуществляется поиск

P.S> Поиск по теме будет. Но попозже. Ибо требует изменения в структуре поискового индекса, а индексация 40 миллионов сообщений процесс не быстрый (собственно поэтому поиск в данным момент может работать не очень корректно)

NickyX3: Вы им еще более сложные галочки предлагаете прикрутить?

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

NickyX3: Под требования ОДНОГО пользователя?

давайте сделаю тему опрос, кто доволен поиском, а кто хочет что-то поменять, не думаю, что буду в одном лице.

NickyX3: При чем тут тема, если мы про «искать в найденном»?

это две разные задачи:

  1. Искать в конкретной теме, не выходя из нее.
  2. Искать в найденном.
    пояснение относились как раз к пункту 1.

NickyX3: К примеру в поиске нашлось пусть даже 1000 сообщений.

замечательный пример!!! Вы сами сейчас подсветили проблематику, что можно найти в 1000 сообщений? И если по поиску их нашлось такое количество, то это говорит о том, что поиск не корректный. Любому пользователю не требуется такое количество, он ведь ищет ответ на один, конкретный вопрос! Давно пора использовать ML модели, подключить AI для замены или подбора слов.

NickyX3: индексация 40 миллионов

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

А мне не нравится, что по умолчанию сортировка по ревалентности, а не по новизне. Какой мне смысл в сообщениях 20-летней давности?

liaram: Какой мне смысл в сообщениях 20-летней

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

По своей работе постоянно общаюсь в разработчиками, и сейчас все ответы как "под копирку":

  • зачем тебе это надо??? работает ведь!
  • этот код писал не я, и написано полное Г...., и вообще не ясно, как тут работает, проще переписать, НО я сейчас занят другими задачи и вообще расставь приоритеты!
  • а кто будет мне задачу ставить? ТЗ напиши и я подумаю, что и как сделать..

и т.д.

VictoriaNV: пользователь ограничил период

Завтра этот период поменялся, а вы все еще ищете за прошлый год?

VictoriaNV: что буду в одном лице

В двух. Может в трёх. Вангую.

VictoriaNV: такое количество, то это говорит о том, что поиск не корректный

Что в нем не корректного? Вы ищете какой-то текст. В 40m сообщений (хоть мы итак ограничиваем количество результатов, ибо никто никогда дальше условной 100-й страницы не ходил) запросто найдется 1000 релевантных результатов

VictoriaNV: Давно пора использовать ML модели, подключить AI

Как только Вы нам купите парочку Nvidia DGX Spark, так сразу и начнем :-)

VictoriaNV: зачем эта бессмысленная и беспощадная работа

Структура индекса не может меняться без переиндексации, а как вы представляете поиск по теме, если в текущем индексе нет информации о том, из какой темы сообщение?

VictoriaNV: во свежих сообщениях, а не пятилетней давности

liaram: по умолчанию сортировка по ревалентности

Мне (и всему человечеству) всегда казалось, что поиск для того и поиск, чтоб искать наиболее релевантное?

VictoriaNV: А должна

Кому должна? Почему должна?

VictoriaNV: быть уже с использованием ML моделей, и постоянно обновляемая, подстраивающаяся под конкретного пользователя

Предложение в силе, привозите парочку Nvidia DGX Spark, мы ждём.

NickyX3: Завтра этот период поменялся, а вы все еще ищете за прошлый год?

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

NickyX3: Что в нем не корректного?

в том, что его не должно быть совсем (такого результата). Если поиск выдает больше 100+ результатов, то должна выдаваться ошибка, что поиск должен быть ограничен, так как выборка не информативна. Ни один из пользователей не будет просматривать подобное количество сообщений.

NickyX3: Как только Вы нам купите парочку Nvidia DGX Spark, так сразу и начнем :-)

это зависит от Вас и от тех задач, которые Вы ставите своим "закупщикам". Любая покупка должна иметь обоснование, и эти обоснования как раз пишут разработчики, совместно с постановщиками задач. Цель одна - повысить посещаемость, удобство пользователя и т.д. Т.е. это реальная и хорошая задача.
Но, я так понимаю, что будет отчет "зачем? работает ведь, и ладно".

NickyX3: наиболее релевантное

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

NickyX3: Мне (и всему человечеству) всегда казалось, что поиск для того и поиск, чтоб искать наиболее релевантное?

Фига вы за всё человечество накинули.
Ещё раз, зачем мне ваше релевантное 15-20 летней давности?
Вот хочу найти отзывы по "Сандунам", зачем мне старые? Я одно слово ввела, и он сперва выдаёт древние ответы.
Релевантность - это же оптимальное совпадение?

Сделайте удаление тем, не заходя в неё.

VictoriaNV: какая логика выбора "самого релевантного" реализована сейчас?

Такая-же как и всегда была, и есть в большинстве стандартных применений Sphinx/Manticore Search - «sph04 = sum((4lcs+2(min_hit_pos==1)+exact_hit)user_weight)1000+bm25». Если это Вам о чем либо говорит.

liaram: Вот хочу найти отзывы по "Сандунам", зачем мне старые?

Ну и? То есть если Вы не можете, в универсальной форме для всех, поменять тип выдачи, то страдать должны те, кому важна релевантность? И кто, возможно хочет получить ответ, который дан 10 лет назад?

liaram: Я одно слово ввела

То есть Вы хотите по одному слову получить что? Ответ «ответ на самый главный вопрос вселенной»? Так он известен.

liaram: Релевантность - это же оптимальное совпадение

Там в форме еще есть возможность выбора что искать – все слова, любое из слов или точно совпадение. И релевантность тоже от этого зависит. Она вобще много от чего зависит. От количества совпавших слов, от расстояния между ними в тексте, в каком месте текста находится найденное и т.п.

NickyX3: сть? И кто, возможно хочет получить ответ, который дан 10 лет назад?

Покажите мне таких динозавров, которые ищут чей-то отзыв 10-летней давности на те же Сандуны.

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

Аноним 247:

Дай вам Бог здоровья, добрый человек!

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

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

VictoriaNV: Если поиск выдает больше 100+ результатов, то должна выдаваться ошибка, что поиск должен быть ограничен

Кто мы такие, чтобы ограничивать? А если кто-то хочет именно всё и за 20 лет (кроме смеха, такие запросы тоже есть).

VictoriaNV: разработчики, совместно с постановщиками

А эти люди сейчас здесь, с нами, в этой комнате?
Вы предлагаете потратить 2-3 миллиона рублей на мифический ML поиск и железо под всё это и внедрение ради полутора посетителей и 0.6% запросов в поиск по форуму из всех запросов в форум чтобы ЧТО? Когда это окупится? Правильный ответ: никогда.

NickyX3: Правильный ответ: никогда.

Вы даже не попробовали... :-( Уже заранее ставите на крестик на развитие.

NickyX3: Кто мы такие, чтобы ограничивать? А если кто-то хочет именно всё и за 20 лет (кроме смеха, такие запросы тоже есть).

дак сделайте цикл, это же тоже реально! Можно ведь оставить выбор человеку - продолжить? или ограничить?

NickyX3: sph04 = sum((4lcs+2(min_hit_pos==1)+exact_hit)user_weight)1000+bm25

Если я правильно "прочитала", то 4lcs, min_hit_pos, exact_hit, user_weight, bm25 - это маркеры релевантности, и надо понимать, как они заполняются. Но по название "user_weight" можно предположить, что учитывается "вес" пользователя, видимо, сколько лет на сайте, сколько тем, сколько банов и т.д. НО зачем мне это в поиске?

Основной двигатель процесса - желание развиваться, просто возьмите идеи.

VictoriaNV: то можно сделать из того, что предлагают

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

VictoriaNV: Если я правильно "прочитала", то 4lcs, min_hit_pos, exact_hit, user_weight, bm25 - это маркеры релевантности, и надо понимать, как они заполняются. Но по название "user_weight" можно предположить, что учитывается "вес" пользователя

У Вас ChatGPT (или что Вы там используете) сломался, я намекал, что используется manticore search как поисковый «движок» (а ничего лучше в open source особо и нет, тем более это практически отечественный продукт). Достаточно Вашей нейронке заглянуть в документацию, чтобы понимать, что user_weight это указанный в запросе вес поля в индексе. А так как, в нашем случае индексируемых для полнотекстового поиска поля всего два (заголовок и текст), то они равны и во факту не используются в расчете.
Если уж сильно интересно:
LCS - длина максимального точного совпадения между документом и запросом
min_hit_pos - позиция первого совпавшего ключевого слова, считаемая в словах
exact_hit - соответствует ли запрос полю полностью
bm25 - быстрая оценка BM25(1.2, 0), где BM25 это широко применяемая в поисковых системах функция вероятностного ранжирования

VictoriaNV: по слову "Сандуны", например, я ожидаю увидеть все сообщения, в которых идет обсуждение Сандунов за последние полгода,

Запрос одного слова не дает никакой толковой релевантности в приципе. Да и по слову «Сандуны» за последний год найдется 4 темы или 90+ сообщений, тут хоть как сортируй, хоть по релевантности, хоть по дате, хоть по чему, оно все равно влезет на 4 страницы. И да, поиск по темам, если хочется «обсуждения» всегда будет релевантнее просто логически. Просто потому, что, к примеру, в данной теме, мы не сандуны обсуждаем, а сообщения из неё найдутся

NickyX3: поиск по теме будет

Замечательно!

NickyX3: ChatGPT

К сожалению не он, платной версии нет, а бесплатная всего 5 обращений в день, которые уже использовала на "налить воды в документы". Из объяснений поняла, что индексы не корректно сформированы....

Вы не авторизованы и не можете оставлять сообщения. Чтобы авторизоваться, нажмите на эту ссылку (после входа Вы вернетесь на эту же страницу).

Все разделы