Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

несколько вопросов по функционалу


Recommended Posts

добрый день форумчане.

Есть сл вопрос.

Работаю над созданием интернет магазина и столкнулся с такой проблемой.

У меня на сайте будет очень большой перечень товаров, больше 100000. Мне необходимо иметь базу ввиде файла или БД в которую я смогу вносить изменения и дополнять новыми появившимися товарами. А клиент, через поиск или через страницу поиска, может найти этот товар. и получить определенный список параметров ввиде результата.

К примеру у меня есть 10 000 товаров в БД или в каком-то файле на сервере магазина. Часть из этих товаров (1000) у меня висят в каталоге и внесены через админку и их можно легко найти по поиску. Остальные товары (9000) у меня просто указаны в файле или БД. Так вот клиент вводит номер 123456 и ему поиск говорит - товар 123456 доступен под заказ 25,10$ срок поставки 14-21день.

подскажите как это лучше реализовать? Может кто-то сталкивался с таким? Есть-ли какой-то модуль который позволяет осуществлять поиск по файлу который находится где-то на сервере?

Надіслати
Поділитися на інших сайтах


Любой файл нужно разбирать (парсить) прежде чем по нему искать. А это бешеные затраты ресурсов. Идея сама по себе утопична. Все нужно грузить в БД, потому что MySQL единственное средство быстрой обработки данных и поиска по ним.

Надіслати
Поділитися на інших сайтах


Могу подсказать один из вариантов решения:

1. В линуксе есть консольная команда grep с помощью которой можно искать в файлах с помощью регулярных выражений. Ищет очень быстро, отдает строки, содержащие совпадение (возможно можно поменять вывод с помощью параметров, нужно курить маны)

например. grep "256" utf8_DaneCzesci.csv (файл на пол миллиона строк, размером в 42 мегабайта) время поиска меньше секунды!

2. В php есть функция exec с помощью которой можно выполнять консольные комманды.

3. К стандартному поиску дописать поиск по внешнему файлу..

4. Профит

Надіслати
Поділитися на інших сайтах

а какого-то уже готово решения по этому поводу нету?

готовые решения есть для стандартных задач, а у вас очень специфическая задача для нее нужно писать индивидуальное решение. Да и в чем проблема? Нужно ТЗ и несколько часов работы вменяемого программиста и будет вам счастье :)
Надіслати
Поділитися на інших сайтах

Могу подсказать один из вариантов решения:

1. В линуксе есть консольная команда grep с помощью которой можно искать в файлах с помощью регулярных выражений. Ищет очень быстро, отдает строки, содержащие совпадение (возможно можно поменять вывод с помощью параметров, нужно курить маны)

например. grep "256" utf8_DaneCzesci.csv (файл на пол миллиона строк, размером в 42 мегабайта) время поиска меньше секунды!

2. В php есть функция exec с помощью которой можно выполнять консольные комманды.

3. К стандартному поиску дописать поиск по внешнему файлу..

4. Профит

тогда уже проще preg_match.

Надіслати
Поділитися на інших сайтах


тогда уже проще preg_match.

Не проще..

1. для preg_match нужно передать строку в которой будет осуществляться поиск , которую нужно получить из файла, а тут есть 2 варианта: 1. Загрузить весь файл в эту строку, но если файл большой то сделать это не получится 2. Если считывать построчно и проверять каждую строку то это очень долго и не эффективно

2. я не проверял, но подозреваю, что скорость работы консольной команды будет намного больше, чем php функции

3. preg_match вроде имеет ограничение в к-во символов, то есть обработать реально большой файл ей не получиться.

Надіслати
Поділитися на інших сайтах

готовые решения есть для стандартных задач, а у вас очень специфическая задача для нее нужно писать индивидуальное решение. Да и в чем проблема? Нужно ТЗ и несколько часов работы вменяемого программиста и будет вам счастье :)

вы знаете так и поступлю. Попробую что получится.

Благодарю Вас за помощь.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.