поиск

Автор 8244, 11 Окт. 2015 в 08:55

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

8244

Нынешний поиск практически не работоспособен.
Предлагаю его вообще убрать с глаз долой, чтобы не злить людей.


Что я предлагаю.

Давайте будем делать помаленьку нормальный поисковой движок. Начнём с одной простой функции (например, выбор всех сообщений в данном разделе от данного пользователя) - но только сделаем так, чтобы это действительно работало. Успешно реализовав старт-ап, будем расширять обвязку, добавим выборки по "спасибо" и "+карма", а дальше новые задачи будут уже сами вытекать по логике работы. Но даже выборка по человеку в теме/подразделе/разделе принесёт колоссальную пользу человеку ищущему знания, потому что знания, как правило, несут всего несколько человек, а доп. фильтр по теме (по теме! тема должна быть нижним уровнем фильра - не раздел, а тема, потому что именно тема - смысловая единица форума) сделает такой поиск, на мой взгляд, достаточным в 90% случаев.

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

Технические вопросы можно обсуждать здесь же.

С ув.




chelo_vert

Поддерживаю.. текущий поиск малополезен.
Часто, при вводе даже самого обыкновенного запроса из пары слов он пишет что "Запрос не слишком информативен", да ещё и ждать предлагает 30 секунд до следующего запроса.  :facepalm:
Когда мне нужно что то поискать - приходится юзать гугл...  а-ля "бла-бла-бла site:electrotransport.ru"
Это, конечно, решает проблему... но..  тогда для чего вообще существует поиск по форуму?
Это особенно удручает в свете того что каждый более менее знающий обитатель, хоть раз, но отправлял новичка "в поиск".

КМК, отчасти поэтому многие новички не шерстят поиском нужную инфу, а создают 100500-ю тему "помогите срочно!!!!!"
Большой зеленый самокат.

8244


Как устроена база данных форума? [user]zap[/user] сетует, что размер БД около гигабайта, поэтому полнотекстовый поиск на несколько минут завешивает сервер. Неужели весь форум у вас сделан в виде одной таблицы? Если бы каждый подраздел форума работал со своей отдельной таблицей, поиск бы летал.


Jeca


8244

[user]Jeca[/user], это я видел. И что? 58 результатов на выходе независимо от зоны поиска, при том что поиск по юзеру выдаёт также ответы с упоминанием его имени. А опции "по спасибо" вообще нет. Не может работать с подстановочными знаками (* в поле "искать" выдаёт исключение, поиск в теме по идентификатору выдаёт "ничего не найдено", и т.д)

Это бесполезная фича.

Jeca

Цитата: 8244 от 11 Окт. 2015 в 15:54
А опции "по спасибо" вообще нет.

В профиле пользователя.

илс

Поиск по Гуглу - очень неплох.  :exactly:

Лично меня огорчает только одна вещь. Я настроил форум так, чтобы последние сообщения были первыми.

В результате все ссылки на поисковые запросы, становятся некорректными. Т.е. для меня поиск  - не существует и не работает, принципе  :~-(

А вы из-за пустяков переживаете.  :kidding:

8244

#7
Jeca,я не понимаю, о чём мы спорим??
А по "спасибо" от всех пользователей в данной теме?
А по "спасибо" данного пользователя в указанном разделе?
Мне на каждый ваш комментарий приводить возражения?

Вы хотите меня убедить что как есть это нормально? и не надо ничего делать?
Не убедите.
Прошу, не засоряйте тему.

Jeca

[user]8244[/user], это как, вам приспичило, а мы довай трудится програму переписывать?
Тогда тема не о чём.

8244


Я где-то сказал "вы давай трудиться" ??

DIVAS

Цитата: Jeca от 12 Окт. 2015 в 15:55
[user]8244[/user], это как, вам приспичило, а мы довай трудится програму переписывать?
Тогда тема не о чём.
Да вообще-то поиск действительно излишне туповат.
Я конечно с этим смирился, у меня все полезные темы давно висят в закладках и там по тегам находятся быстро.
Но ведь мы постоянно посылаем новичков в поиск, а поиск-то и не работает толком!
Kugoo M4 Pro 18Ah (2020)

zap

Поиск по гуглу вполне нормально работает. Я влёт нахожу всё что мне нужно по ключевым словам.

Что касается доработки поиска - вперёд и с песней. Для этого нужно совсем немного:

  • Установите себе движок форума SMF (ссылка есть в подвале)
  • Пишите собственный плагин для форума сколько влезет
  • Как только плагин готов, сигнализируете мне, я гляну и если всё устраивает - установлю

Это уже отработанная схема - например, коллега [user]bolonia[/user] разработал офигенную карту, а коллега [user]master_255[/user] - офигенный плагин для загрузки изображений.

Если напишете плагин офигенного поиска, будет Вам честь и слава. Не напишете - ничего не будет :pardon:.

Как-то так.

P.S. Вообще, ребята, которые делают SMF, пилят нормальный поиск уже хрен знает который год. Очень это, знаете ли, непростое дело. Я тоже уже джва года хочу такую игру, чтобы можно было грабить корованы. Но нету  :ку:
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

8244

1. Для чего плагин? Гораздо проще переписать форму поиска и сделать изолированную заплатку для её обработки, не трогая остальные элементы интерфейса

2. Повторю вопрос, который задал выше: у вас весь форум, что-ли, запихан в одну гигабайтную таблицу что так тормозит? Я не понимаю, откуда такие тормоза как вы говорите.

3. Здесь, на форуме, вы знаете людей кто нормально разобрался с движком?


zap

Плагин это и есть заплатка. Внутри архива кладётся нечто типа diff файла (только в своём собственном формате, надо вручную составлять) - типа в таком-то файле после вот такой строки вставляем текст [...] и так далее.
При необходимости, можно добавить дополнительные файлы, распихав их по каталогам движка.
Смысл делать плагины в том, что при обновлении движка форума мне на порядки проще работать с отдельными плагинами, которые можно накатывать-откатывать по необходимости, чем с просто пропатченными исходниками.

Список таблиц и их текущие размеры в мегабайтах под спойлером (это только файлы с данными таблиц, файлы с индексами ещё +30% по размеру).
Спойлер

0   frei_banned_users.MYD
1   frei_chat.MYD
1   frei_config.MYD
0   frei_groupchat.MYD
1   frei_rooms.MYD
6   frei_session.MYD
1   frei_smileys.MYD
0   frei_video_session.MYD
0   frei_webrtc.MYD
26   net_city_ip.MYD
4   net_city.MYD
2   net_country_ip.MYD
1   net_country.MYD
3   net_euro.MYD
1   net_ru.MYD
1   smf_admin_info_files.MYD
1   smf_ads.MYD
0   smf_ads_settings.MYD
0   smf_approval_queue.MYD
9   smf_attachments.MYD
1   smf_awards_categories.MYD
1   smf_awards_members.MYD
1   smf_awards.MYD
1   smf_ban_groups.MYD
1   smf_ban_items.MYD
1   smf_board_permissions.MYD
1   smf_boards.MYD
1   smf_calendar_holidays.MYD
1   smf_calendar.MYD
1   smf_categories.MYD
1   smf_collapsed_categories.MYD
1   smf_custom_fields.MYD
1   smf_down_cat.MYD
1   smf_down_catperm.MYD
1   smf_down_comment.MYD
0   smf_down_creport.MYD
0   smf_down_custom_field_data.MYD
0   smf_down_custom_field.MYD
1   smf_down_file.MYD
0   smf_down_groupquota.MYD
1   smf_down_rating.MYD
1   smf_down_report.MYD
1   smf_down_userquota.MYD
1   smf_drafts.MYD
0   smf_gallery_cat.MYD
0   smf_gallery_comment.MYD
0   smf_gallery_pic.MYD
0   smf_gallery_report.MYD
0   smf_group_moderators.MYD
1   smf_ignore_topics.MYD
2   smf_imgup.MYD
3   smf_log_actions.MYD
1   smf_log_activity.MYD
1   smf_log_banned.MYD
2   smf_log_boards.MYD
1   smf_log_comments.MYD
1   smf_log_digest.MYD
0   smf_log_errors.MYD
1   smf_log_floodcontrol.MYD
0   smf_log_group_requests.MYD
2   smf_log_karma.MYD
1   smf_log_mark_read.MYD
0   smf_log_member_notices.MYD
1   smf_log_notify.MYD
1   smf_log_online.MYD
1   smf_log_packages.MYD
1   smf_log_polls.MYD
1   smf_log_reported_comments.MYD
1   smf_log_reported.MYD
1   smf_log_scheduled_tasks.MYD
1   smf_log_search_messages.MYD
1   smf_log_search_results.MYD
2   smf_log_search_subjects.MYD
1   smf_log_search_topics.MYD
0   smf_log_spider_hits.MYD
0   smf_log_spider_stats.MYD
0   smf_log_subscribed.MYD
25   smf_log_topics.MYD
0   smf_mail_queue.MYD
1   smf_membergroups.MYD
5   smf_members.MYD
1   smf_message_icons.MYD
541   smf_messages.MYD
1   smf_moderators.MYD
0   smf_openid_assoc.MYD
1   smf_package_servers.MYD
1   smf_permission_profiles.MYD
1   smf_permissions.MYD
154   smf_personal_messages.MYD
6   smf_pm_recipients.MYD
1   smf_pm_rules.MYD
1   smf_poll_choices.MYD
1   smf_polls.MYD
1   smf_post_drafts.MYD
1   smf_pretty_topic_urls.MYD
1   smf_pretty_urls_cache.MYD
1   smf_scheduled_tasks.MYD
7   smf_sessions.MYD
1   smf_settings.MYD
1   smf_smileys.MYD
1   smf_spiders.MYD
0   smf_subscriptions.MYD
2   smf_thank_you_post.MYD
1   smf_themes.MYD
1   smf_topics.MYD

Собственно, таблица smf_messages содержит все сообщения на форуме, индексируемые по номеру сообщения.
Вот по этой таблице, собственно, и нужно делать поиск, попутно привлекая данные из других таблиц.
С движком разобрался, например, я, или тот же [user]master_255[/user], да и [user]bolonia[/user] разобрался бы если нужно (для карты этого не требовалось).
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

bolonia

Какая-то бесполезная узкоспециализированная фича обсуждается.

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

8244, обращайтесь на форум SMF, этими доработками должны заниматься программисты движка форума: http://www.simplemachines.org/community/index.php
Рама «Версия» лайт + МК 1квт + 48v-40ah + KLS7212S
Xiaomi Mijia Electric Scooter
Я на карте

zap

[user]bolonia[/user], ну, я говорю как есть а не как должно быть :)
То, что плагины к SMF очень часто содержат хаки - клинический факт :bn:.
У SMF просто недостаточно "точек входа", чтобы можно было реализовать всё, что взбредёт в голову.
Но в любом случае, такие патчи накатывать и откактывать проще, чем вручную сделанные изменения.
Куда его пошлют программисты движка форума я догадываюсь, но говорить не буду :)
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

danclax

Не надо изобретать велосипед сложные полнотекстовые поисковые алгоритмы. Раз гугл всех устраивает, то вот https://cse.google.com/cse/create/new. Посмотреть на примере, насколько офигительно это работает, можно здесь: http://doc.qt.io/
Возможность стилизовать есть. Даже подсказки есть на лету, при наборе запроса.
E-Kross, MXUS 3000W V2, 48V 30Ah LiFePO4

zap

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

Поражаю масштабностью некопмпетентность (ц) из лички