Как реализован поиск в яндекс маркете и хранение данных?

К примеру, данные по товару хранятся в простом массиве, их два, с более востребованной информацией и всей информацией.
620bfd8cc9af42519a6a9432119f9b76.PNG
Как реализован поиск? По префикса, по переменным??
a49cc8dfb4cf4030bd198fd465a7e750.PNG
Мне кажется что есть еще одна таблица, в которой уже хранятся еще больше данных.. Что бы сделать просто mysql запрос, а не извращаться.
Может я ошибаюсь и они хранят все в одном массиве. Подскажите пожалуйста или в каком направлении искать? Я уже 16й день эту задачу пытаюсь решить, но что-то постоянно не то.
Вот нашел, но это не то. Самое странное что там не на js сделано, только запрос и ответ отсылается с помощью ajax.

Может я не догадываюсь, но ответ в name="manufacturers[]" value="2" Не прошу делать все за меня, а только подтолкнуть-подсказать, поправить если я не в том направлении иду.

таблица там точно большая и скорее всего разбита на 2, может на 3..
  • Вопрос задан
  • 2535 просмотров
Решения вопроса 3
Jump
@Jump
Системный администратор со стажем.
Данные хранятся не в массиве, а в базе данных.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Вещи, которые тебе надо понять перед тем, как начинать что-то делать
1. То, как делает Яндекс - тебе абсолютно ни к чему.
2. Поиск и хранение - это разные вещи.
3. Хранение, с точки зрения выбранных тегов, можно решать двумя путями:
- Либо EAV - когда в таблице хранится идентификатор товара, идентификатор свойства, значение.
- Либо древовидная БД, типа Монги
4. Поиск, с точки зрения выбранных тегов - Сфинкс.

Но если у тебя товары хранятся в массивах, а не в БД, и удивлает отсутствие реализации на яваскрипте, то тебе пока рановато такими вещами заниматься. Для начала освой простую реляционную базу данных.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
id, parent_id, caption[varchar], value1(float), value2(float), value3(float), owner_id

c:"смартфон"->c:"nokia"->c:"камера"->c:"Mpx",value1:20 (4 записи)

можно все 1 таблицу, можно поделить так, как хотите. кортежи - останутся те же.
и таблица owner_id:
0:system
1:admin
2:user_1
3:user_2
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
usualdesigner
@usualdesigner
PHP Developer
Тут немного более подробно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы