|
|
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
Привет. Какую технику лучше всего реализовать при поиске по тегам или ключевым словам. Использовать sql - мне кажется будет слегка тяжеловато, т.к. слишком много тегов и множество связанной информации (опять же ранжирование и вес слова) Использовать поисковый движок - палить по мухам из пушки, не для этого их создавали. Использовать внешний поисковый движок (Яндекс,Гоогл) - вообще не знаю есть ли такой зверь. Короче посоветуйте или опытом поделитесь. Заранее благодарен. Undef ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 16:17 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
Если под "sql-способом" подразумевается Like - то, конечно, будет тяжеловато. А если хранить теги обьекта в отдельной связанной таблице и искать по равенству - чему там быть тяжелому-то? И разные веса тегов при этом способе реализуются легко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 16:46 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
Проблема в нескольких тысячах пользователей. MySQL и одновременно 50-100 crud операций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 17:54 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
Undef08Использовать sql - мне кажется будет слегка тяжеловато, т.к. слишком много тегов и множество связанной информации (опять же ранжирование и вес слова) Undef08Проблема в нескольких тысячах пользователей. MySQL и одновременно 50-100 crud операций. Недопонял. Объясните внятно, что вы имеете в виду. Пример там, сценарий что-ли ______________________________________________________ Ох ! Болят мои крылья ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 18:02 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
shelsoft[quot Undef08]Использовать sql - мне кажется будет слегка тяжеловато, т.к. слишком много тегов и множество связанной информации (опять же ранжирование и вес слова) Undef08Проблема в нескольких тысячах пользователей. MySQL и одновременно 50-100 crud операций. Недопонял. Объясните внятно, что вы имеете в виду. Пример там, сценарий что-ли Пример: Ну очень популярный блог, юзер Х написал что у него там накопилось и тег добавляет. Например "видео, БМВ". Програмулина типа веб сайт пытается добавить новый топик в бд с тегами. Теперь юзер Y ищет слово "файл" внутри програмулины и получает 10 000 страниц. Юзер Y добавляет в поиск новое слово - "видео". И получает 1 000 страниц. Юзер Y уже пишет в строке поиска "БМВ видео файл" и тут начинается самое интересное. Дело в том что слова "файл" и "видео" являются "шумными" и имеют более низкий вес слова чем "БМВ". Поэтому хотелось бы, чтобы если Y ищет "красивый БМВ файл" он всетаки увидит, что написал ему Х. Теперь мы это умножаем на 100 одновременных запросов и начинаем думать, а не узкое ли это место в нашей системе. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 18:46 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
Мне сложно сказать насчет MySQL, но на MSSQL у меня система поиска с ~1000 пользователей одновременно онлайн работает вполне шустро и далеко не на топовом железе. Вес тега вы же не в онлайне рассчитываете? То есть если в течение получаса пользователи добавят ~1000 постов с тегом, скажем, "Норд-ост" - нужно онлайн пересчитывать вес этого тега? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 20:56 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинМне сложно сказать насчет MySQL, но на MSSQL у меня система поиска с ~1000 пользователей одновременно онлайн работает вполне шустро и далеко не на топовом железе. Вес тега вы же не в онлайне рассчитываете? То есть если в течение получаса пользователи добавят ~1000 постов с тегом, скажем, "Норд-ост" - нужно онлайн пересчитывать вес этого тега? Хотелось бы конечно онлайн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 22:38 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
Undef08Хотелось бы конечно онлайн.Заказчику действительно необходимо, что бы при добавлении 1000 постов в течение получаса вес тега пересчиталься именно 1000 раз, или достаточно пересчёта раз в час, если что-то менялось? Хотя даже при онлайн пересчёте, если вес - всего-лишь количество упоминаний, то счётчик инкрементировать легко (или сделать некий пересчёт по инкрементированному счётчику). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2008, 17:20 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
А полнотекстовый поиск уже не справился? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2008, 20:49 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
DocAlА полнотекстовый поиск уже не справился?Конечно, полнотекстовый поиск будет медленнее для поиска по тегам. Полнотекстовый поиск оптимальнее всего использовать только для полнотекстового поиска :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 10:46 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
alexeyvg Хотя даже при онлайн пересчёте, если вес - всего-лишь количество упоминаний, то счётчик инкрементировать легко (или сделать некий пересчёт по инкрементированному счётчику). Если использовать инкремент счетчиков - поиск будет действительно происходить легко, но начнутся проблемы с транзакциями, которые вынуждены будут конкурировать за счетчики (в особенности за счетчики частых тегов с низким весом). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 11:38 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
alexeyvg DocAlА полнотекстовый поиск уже не справился?Конечно, полнотекстовый поиск будет медленнее для поиска по тегам. Полнотекстовый поиск оптимальнее всего использовать только для полнотекстового поиска :-)А что, поиск по тегам идёт только по точному совпадению, без учёта релевантности и т.п.? По-моему, по описанию задачи, полнотекстовый поиск -- самая колбаса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 16:00 |
|
||
|
Поиск по тегам или ключевым словам, Как реализовать поиск по тегам
|
|||
|---|---|---|---|
|
#18+
DocAl alexeyvgКонечно, полнотекстовый поиск будет медленнее для поиска по тегам. Полнотекстовый поиск оптимальнее всего использовать только для полнотекстового поиска :-)А что, поиск по тегам идёт только по точному совпадению, без учёта релевантности и т.п.? По-моему, по описанию задачи, полнотекстовый поиск -- самая колбаса.Я, видя слово "тег", понял, что требуется точное совпадение. Для неточного совпадения полнотекстовый поиск, конечно, проще в реализации, но всё равно медленнее. Учёт релевантности, весов и т.п. проще, на мой взгляд, решаются без FTS. Кот Матроскин alexeyvgХотя даже при онлайн пересчёте, если вес - всего-лишь количество упоминаний, то счётчик инкрементировать легко (или сделать некий пересчёт по инкрементированному счётчику). Если использовать инкремент счетчиков - поиск будет действительно происходить легко, но начнутся проблемы с транзакциями, которые вынуждены будут конкурировать за счетчики (в особенности за счетчики частых тегов с низким весом).Это зависит от дланны транзакций. При коротких транзакциях (ведь на один запрос будет одна транзакция с одним обновлением одной или нескольких записей весов счётчиков) это не будет проблемой. Ещё можно и архитектурку пооптимизировать - например, если это WEB-сайт, в приложении делаем кэш с счётчиками и сбасываем их иногда (раз в минуту), прибавляя накопленные значения. Но это-уж для совсем большой нагрузки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2008, 18:25 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=109&tid=1544082]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
17ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 302ms |

| 0 / 0 |
