Search by WMSN

Заливаю 7.8 млн товаров слона в свою базу для поиска. Кажется завтра я все это выкину и поставлю сфинкса...

Answers:

Если не изменяет память, сфинкс может как то напрямую подключаться допустим к mysql. Трогал я его года2-3 назад. Бд кладр

Фарадей, а вообще внутри самого сфинкса база в своем хитром бинарном формате?

какой размер БД?

Роман Питерский, база индекса 4.2 гб (по ней идет поиск), база списка товаров 3.8 гб. Товаров 6.831.017 (Гудбоди и Где слон). В общем что получилось, можно заценить: refwm.com

Mik Foxi, скорость приличная, зачем все менять?

Роман Питерский, я не думал что так хорошо все получится ))) менять ничего не буду. Завтра буду делать конвертеры для других партнерок.

Mik Foxi, получилось хорошо)

Mik Foxi, да, вроде в свой формат конвертировал. Быстро ты однако сделал. Не ленивый ))

Mik Foxi, Гудбоди - это оно шоль? Чота отзывы по ней весьма не лестные

Dench, goodbody.ru

Dench, да этот, я раньше с ними работал, сейчас хз как они, вроде платят и конверт не поганый был. Да и товаров там 2,5к примерно, они не мешают, не думаю что они будут хуже чем неизвестные мне магазины, работающие через слона и другие прокладки.

Mik Foxi, Скорость поиска, как оказалось, прямопропорциональна количеству слов в поиске.

Чё-то с точностью поиска совсем беда. Вводишь точное наименование товара - оно не на первом месте... Кокроче когда это дело запилишь - вот тогда увидишь все тормоза )))

уПопаБылаСобака, да, потому что ищется каждое слово в отдельности, сколько слов, столько и поисков по всей базе.

webmaster, можно пример такого ключевика? Слова до 3 знаков не ищутся. Поиск идет не только по заглавиям, но и по описаниям.

Mik Foxi, Там вес нужно задавать. Поиск по названию - 0,7, по описанию 0,3. А по поводу размера индекса, то его можно существенно уменьшить, если вместо стемм слов, зранить их хеши. Коллизия если и будет, то не значительная.

уПопаБылаСобака, md5 хэш это 32 знака, слова в среднем в дофига раз меньше. Так что хэши сильно увеличат размер базы. А другие хэши которые покороче - будет много коллизий.

Mik Foxi, Это у тя на сфинксе или самодел твой?
Если на сфинксе - то тормозов не будет... Я по первому твоему посту подумал, что ты запилил поиск сам без сфинкса.

webmaster, это мой поиск собственный, php + sqlite )))

Mik Foxi, Да любой запрос возьми. Например:
«Аппарат массажный медицинский KM-923 в комплекте 3 насадки, ик-прогрев»
Должен в приницпе показать первым товар с таким названием, а там какие-то аппараты для сварки )))
Без релевантности у MySQL ьфеср фпфштые - такая же скорость поиска. Вся сложность быстрого поиска как раз-таки в сортировке по релевантности, по количеству найденных слов хотя бы... Вот тут-то базы sqlite, mysql etc будут сильно уступать сфинксу.

webmaster, спасибо, буду экспериментировать дальше ) MySQL на том же самом алгоритме заметно сильнее грузил проц и по скорости было отставание.

А мне слоняра не отдает всю выгрузку. Я плохо вел себя?

Dench, ты плохо искал )) gdeslon.ru тут выгрузка делается, хочешь по тематикам, хочешь по реклам. Делать лучше по частям, а то если сразу все одним заказом - 8 гб xml файл хрен чем обработаешь.

Mik Foxi, в том то и дело, что: imgwm.com с вечера вчерашнего нет ссылки на скачивание:)

8 гб xml файл хрен чем обработаешь Бля, а вот про это я не подумал... Полуторагиговый файл у меня как то со скрипом пережевалось перлом на libxml :(

несколько раз порывался такой поиск сделать, но потом вновь начинал работать API слона и меня отпускало ))

Dench, на выходных у меня очередь на выгрузку ждала полторы суток. И я разбивал по тематикам + некоторые тематики еще на части, в общем чтоб в каждом архиве получалось не больше 300к ссылок. И даже с такими базами у меня ноут квартиру ниче так обогревал, пока обрабатывал )))

skray, апи слона работает медленно. Там лимит на количество обращений в секунду, больше 2 запросов в секунду с одного ip не получается получить. Ну и увеличить базу товаров с разных партнерок - это ж тоже жир.

Mik Foxi, «Ну и увеличить базу товаров с разных партнерок - это ж тоже жир.» Вот из-за этого я и попиливаю потихоньку свое решение для товарного фида. Только я на Perl делаю:))

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

skray, в том и косяк что потихоньку, а надо быстро )

Mik Foxi, Ну тогда, не хеш, а транслит. В два раза будет меньше база.

уПопаБылаСобака, я думал уже об этом ))) в будущие идеи доработок записал транслит, пока так посмотрим что будет.

Mik Foxi, а надо ли быстро? может потише - подольше проживут, у меня кеи на кроне на очень долгий отложенный постинг настроены, чтоб вся база с кеями выработалась больше полугода нужно

уПопаБылаСобака, А если индекс строить не в одной таблице, а например в 33 (по первой букве), соответственно скорость должна вырости то?

уПопаБылаСобака, по каждому столбцу нужны будут индексы, это размеры базы увеличатся многократно. Да и нету разницы, искать в поле по которому индекс key='а' или key='ключ', скорость одинаковая будет. и сейчас я ищу каждое слово, т.е. это максимум 6 поисков для длинных ключей.

уПопаБылаСобака, вообще если делать по взрослому и крутому - нужен бинарный поиск, как это сделано в сфинксе (наверное), CNSearch (офигенный поисковый скрипт кстати) и т.п. Но я ж не убийцу гугла делаю )))

уПопаБылаСобака, «шардинг» придумал?:)

Dench, Ну а чё!

Mik Foxi, Явно не понял. 1 таблица хранит индексы только для слов на букву А, вторая для слов на букву Б. Поиск соотетственно будет идти примерно по данным в 33 раза меньше.

уПопаБылаСобака, сделал транслит. размер индекса уменьшился на процентов 25-30, скорость тоже немного увеличилась.

Mik Foxi, а нафига ты микроблог снес?

Den, ты о чем? 0_о

Mik Foxi, у тебя на домене refwm.com был буржуйский фейковый микроблог.

Den, я его никак не использовал с пользой, кроме наблюдения за индексацией.