- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
1. Смотря что считать быстро.
2. Какой размер оперативной памяти.
3. Какие требования к wildcard, типичные, итд. Знаете ли, ни один алгоритм
по wildcard а.*б.*в.*г.*...я где все буквы русского алфавита и 33 звездочек быстро искать не будут.
4. Ну и потом, посчитайте, что если на реализацию такого алгоритма затратить 2 недели, неделю-другую на отладку довдоку (а может даже больше) Ваша цена в 500 баксов выглядит совсем смешной.
5. подумал, дописал, кстати, если это какое-то критичное приложение, то можно написать распределенную искалку.
тривиальную..
Дам $500 за реализацию такого алгоритма.
На любом языке, не обязательно си, но чтобы запустить проверить можно было, перл, питон или джава подойдут.
Нужен быстрый поиск с wildcards по словарю из примерно 100-150 миллионов слов.
Набор символов [\x21-\xFF], максимальная длина слова 128 байт, на разбивку на более простые и короткие слова по каким-то границам внутри слова (пробелы,запятые,...) расчитывать не стоит.
Найти нужно все слова в словаре, подходящие под шаблон, желательно (но не обязательно) в отсортированном порядке.
В словарь могут добавляться слова, удаляться не могут - нужно апдейтить индекс без перестройки его с нуля по всему словарю.
Размер индекса критичен, желательно уложиться не более чем еще один размер словаря, время создания индекса - не очень критично.
Очень критично - время поиска и "время поиска первых n результатов подходящих под шаблон"
.
.......................
1. Смотря что считать быстро.
2. Какой размер оперативной памяти.
ну скажем 20ms на Dual Opteron c 4Gb
3. Какие требования к wildcard, типичные, итд. Знаете ли, ни один алгоритм
по wildcard а.*б.*в.*г.*...я где все буквы русского алфавита и 33 звездочек быстро искать не будут.
если больше двух * - можно во время не вписываться.
4. Ну и потом, посчитайте, что если на реализацию такого алгоритма затратить 2 недели, неделю-другую на отладку довдоку (а может даже больше) Ваша цена в 500 баксов выглядит совсем смешной.
5. подумал, дописал, кстати, если это какое-то критичное приложение, то можно написать распределенную искалку.
.
да там чуть выше спецы такой алгоритм тривиальным обозвали :)
и уже реализованным во всех поисковиках
а как до дела дошло - ёк :)
в общем, еще раз хотел подчеркнуть, что не видел в жизни (и литературе) ничего сколько-нибудь адекватного для общего решения. ведь, например, суффиксные деревья, над оптимизаци которых бьется весь цивилизованный мир уже много лет, особо не помогут в случае образца а.*е. потому как кат-офф кондишен не будет срабатывать. слов, начинающихся на а - миллионы и почти все они содержат в себе букву е! так что же вернуть юзеру миллион результатов? надо их как-то отранжировать, если много найдено. это другая сложность. вот и получается, что задача в любом случае поставлена некорректно.
да там чуть выше спецы такой алгоритм тривиальным обозвали :)
и уже реализованным во всех поисковиках
а как до дела дошло - ёк :)
Если это намек на меня, то я попросил бы читать внимательнее. Привожу фрагмент своего постинга:
был нужен полноценный regexp - тады только перебор . Если же просто найти все с произвольным окончанием - то задача для студента 2 курса.
Более ничего я не говорил. По сути дела я полностью согласен с itman по поводу реализации в общем виде :) и об этом тоже писал. Можно попробовать другой метод, может Вы опишите (хотя бы в общем) зачем и где (в каких условиях) эта штуковина должна работать. Возможно тогда что-то будет можно сказать или предложить.
Если это намек на меня, то я попросил бы читать внимательнее. Привожу фрагмент своего постинга:
нет, я о том что обсуждали в этом топике до меня
за такое время на такой железке, с такой памятью стандартные инвертированный файл не справится, или справится едва-едва.
к тому же, имхо, здесь важно не сколько там есть звездочек, а какая длина подстрок без wildcard. сами, посудите какова фильтруаящая способность, скажем, триграммы относительно массива слов длинной 128 символов количеством 13 млн. я думаю, что будет очень хорошо, если на такой железке вам удастся уложить поиск в несколько секунд.
ну скажем 20ms на Dual Opteron c 4Gb
если больше двух * - можно во время не вписываться.
да там чуть выше спецы такой алгоритм тривиальным обозвали :)
и уже реализованным во всех поисковиках
а как до дела дошло - ёк :)
ну скажем 20ms на Dual Opteron c 4Gb
если больше двух * - можно во время не вписываться.
да там чуть выше спецы такой алгоритм тривиальным обозвали :)
и уже реализованным во всех поисковиках
а как до дела дошло - ёк :)
tano, а какова примерно средняя длина слова? И каков допустимый максимальный объем всего индекса?
tano, а какова примерно средняя длина слова?
сейчас 15, может со временем расти, до 20-30
128 - это максимально возможная длина
И каков допустимый максимальный объем всего индекса?
Желательно - данные+индекс уложить в 2 размера данных в plain формате, можно превысить. Решения с 128*размер данных не проходят.
Ууупс... Вы путаетесь в показаниях, если максимальная длина слова 15, то размер данных ну уж никак не 13 гигов. Опять-таки, какая средня длина, порядка 10 я думаю?
сейчас 15, может со временем расти, до 20-30
128 - это максимально возможная длина
Желательно - данные+индекс уложить в 2 размера данных в plain формате, можно превысить. Решения с 128*размер данных не проходят.