powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
13 сообщений из 13, страница 1 из 1
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35056480
Undef08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.
Какую технику лучше всего реализовать при поиске по тегам или ключевым словам.
Использовать sql - мне кажется будет слегка тяжеловато, т.к. слишком много тегов и множество связанной информации (опять же ранжирование и вес слова)
Использовать поисковый движок - палить по мухам из пушки, не для этого их создавали.
Использовать внешний поисковый движок (Яндекс,Гоогл) - вообще не знаю есть ли такой зверь.
Короче посоветуйте или опытом поделитесь.
Заранее благодарен.
Undef
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35056579
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если под "sql-способом" подразумевается Like - то, конечно, будет тяжеловато.
А если хранить теги обьекта в отдельной связанной таблице и искать по равенству - чему там быть тяжелому-то?
И разные веса тегов при этом способе реализуются легко.
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35056820
Undef08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в нескольких тысячах пользователей. MySQL и одновременно 50-100 crud операций.
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35056862
Фотография shelsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Undef08Использовать sql - мне кажется будет слегка тяжеловато, т.к. слишком много тегов и множество связанной информации (опять же ранжирование и вес слова)

Undef08Проблема в нескольких тысячах пользователей. MySQL и одновременно 50-100 crud операций.

Недопонял.
Объясните внятно, что вы имеете в виду.
Пример там, сценарий что-ли




______________________________________________________
Ох ! Болят мои крылья ...
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35056990
Undef08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shelsoft[quot Undef08]Использовать sql - мне кажется будет слегка тяжеловато, т.к. слишком много тегов и множество связанной информации (опять же ранжирование и вес слова)

Undef08Проблема в нескольких тысячах пользователей. MySQL и одновременно 50-100 crud операций.

Недопонял.
Объясните внятно, что вы имеете в виду.
Пример там, сценарий что-ли



Пример:
Ну очень популярный блог, юзер Х написал что у него там накопилось и тег добавляет.
Например "видео, БМВ". Програмулина типа веб сайт пытается добавить новый топик в бд с тегами.
Теперь юзер Y ищет слово "файл" внутри програмулины и получает 10 000 страниц.
Юзер Y добавляет в поиск новое слово - "видео".
И получает 1 000 страниц.
Юзер Y уже пишет в строке поиска "БМВ видео файл" и тут начинается самое интересное.
Дело в том что слова "файл" и "видео" являются "шумными" и имеют более низкий вес слова чем "БМВ". Поэтому хотелось бы, чтобы если Y ищет "красивый БМВ файл" он всетаки увидит, что написал ему Х.
Теперь мы это умножаем на 100 одновременных запросов и начинаем думать, а не узкое ли это место в нашей системе.
Спасибо.
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35057173
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне сложно сказать насчет MySQL, но на MSSQL у меня система поиска с ~1000 пользователей
одновременно онлайн работает вполне шустро и далеко не на топовом железе.
Вес тега вы же не в онлайне рассчитываете? То есть если в течение получаса пользователи добавят ~1000 постов с тегом, скажем, "Норд-ост" - нужно онлайн пересчитывать вес этого тега?
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35057244
Undef08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинМне сложно сказать насчет MySQL, но на MSSQL у меня система поиска с ~1000 пользователей
одновременно онлайн работает вполне шустро и далеко не на топовом железе.
Вес тега вы же не в онлайне рассчитываете? То есть если в течение получаса пользователи добавят ~1000 постов с тегом, скажем, "Норд-ост" - нужно онлайн пересчитывать вес этого тега?

Хотелось бы конечно онлайн.
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35060636
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Undef08Хотелось бы конечно онлайн.Заказчику действительно необходимо, что бы при добавлении 1000 постов в течение получаса вес тега пересчиталься именно 1000 раз, или достаточно пересчёта раз в час, если что-то менялось?

Хотя даже при онлайн пересчёте, если вес - всего-лишь количество упоминаний, то счётчик инкрементировать легко (или сделать некий пересчёт по инкрементированному счётчику).
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35061086
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А полнотекстовый поиск уже не справился?
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35061755
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlА полнотекстовый поиск уже не справился?Конечно, полнотекстовый поиск будет медленнее для поиска по тегам.

Полнотекстовый поиск оптимальнее всего использовать только для полнотекстового поиска :-)
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35061996
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
Хотя даже при онлайн пересчёте, если вес - всего-лишь количество упоминаний, то счётчик инкрементировать легко (или сделать некий пересчёт по инкрементированному счётчику).

Если использовать инкремент счетчиков - поиск будет действительно происходить легко, но начнутся проблемы с транзакциями, которые вынуждены будут конкурировать за счетчики (в особенности за счетчики частых тегов с низким весом).
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35063160
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg DocAlА полнотекстовый поиск уже не справился?Конечно, полнотекстовый поиск будет медленнее для поиска по тегам.

Полнотекстовый поиск оптимальнее всего использовать только для полнотекстового поиска :-)А что, поиск по тегам идёт только по точному совпадению, без учёта релевантности и т.п.? По-моему, по описанию задачи, полнотекстовый поиск -- самая колбаса.
...
Рейтинг: 0 / 0
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
    #35072503
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAl alexeyvgКонечно, полнотекстовый поиск будет медленнее для поиска по тегам.

Полнотекстовый поиск оптимальнее всего использовать только для полнотекстового поиска :-)А что, поиск по тегам идёт только по точному совпадению, без учёта релевантности и т.п.? По-моему, по описанию задачи, полнотекстовый поиск -- самая колбаса.Я, видя слово "тег", понял, что требуется точное совпадение.

Для неточного совпадения полнотекстовый поиск, конечно, проще в реализации, но всё равно медленнее.

Учёт релевантности, весов и т.п. проще, на мой взгляд, решаются без FTS.

Кот Матроскин alexeyvgХотя даже при онлайн пересчёте, если вес - всего-лишь количество упоминаний, то счётчик инкрементировать легко (или сделать некий пересчёт по инкрементированному счётчику).

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

При коротких транзакциях (ведь на один запрос будет одна транзакция с одним обновлением одной или нескольких записей весов счётчиков) это не будет проблемой.

Ещё можно и архитектурку пооптимизировать - например, если это WEB-сайт, в приложении делаем кэш с счётчиками и сбасываем их иногда (раз в минуту), прибавляя накопленные значения. Но это-уж для совсем большой нагрузки.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]