Topic: Tjapnichnyj search of the goods in a dial-up of attributes
Greetings of the colleague.
Ilya. A snowy owl. Dima. Sasha-Merkury. Pilot Petrav. An isokerf.
Petalvik. Softwarer. the two-thousand. Sidorov. . Dock. . The Bug-botan and other to the admirer .
We begin brainstorming session. We optimize search on EAV.
Throughout my tediousness apropos EAV-models and search of the goods. already .
For all remaining - input:
It is given:
The Internet shop on the basis of classical stack LAMP (Here MySQL it is possible
To replace with arbitrary relational DBMS it is not important what. The main thing - relational).
The list of the goods on more than 10 000 positions.
The goods are beaten on a category (for example Refrigerators, Plasmas, Furnaces e.t.c)
Each goods possess a basic dial-up of characteristics such as: the code
The goods, a title, the description, the sentence price, residual in a warehouse.
(Further it is possible to detail still other characteristics but in the given
Arguing they are not especially important. Us the following point) will interest.
Each goods possess expanded set of characteristics which
Have free enough specification. For example for Plasma is
Screen diagonal ("), support FullHD, power consumption (W);
Resolution (two numbers), etc. the attribute list in the form of string a title
And values of the arbitrary types. An amount of the expanded characteristics
It is initially not known. them can be to several tens.
At level it is supposed that the basis uses model EAV
As the cheapest and accessible method to implement the list of the expanded
The E-commerce shop is under constant loading. Retrieval
Operations on the goods are carried out every second.
Clients of shop - people impatient also wish very much
Quickly to receive results of the searches.
The owner of shop - struggles for clients and wishes to create
The most comfortable conditions for fast operation.
UI shop the client is designed thus that
Enters nothing from the keypad but only marks checkboxes.
All real characteristics of the goods
Before search are broken into groups. For example a plasma diagonal.
Diagonal [x] 39 "-43"  46 "-50" [x] FullHD [x] HD Ready
That I here wanted to consider. Possible algorithms and data structures
Which help to accelerate search in model EAV.
It is possible - finishings to PG and MySQL. It is possible - various variants .
It is possible - usage /C ++ in stack LAMP. Text search,
Trees, JSON, and all that can be useful - is welcomed.
On and a DB it is possible while to hammer. Speed is more important.
Or we will not consider variants of purchase of clusters here.
It is banal and is not a subject for Programming .
We will consider the engineering and creative approach
Your obedient servant is not the developer the Internet of shops
And consequently will be glad to hear councils and sentences on a subject of that
As it already somewhere is implemented.
Very much I ask you not to throw in me links in Git or SVN, since on the analysis
And understanding of ready decisions at me months and it by no means leave
Does not promote a topic and does not guarantee good luck. If you developed
Or participated in similar - I ask you to describe a technology essence short.
So we begin brainstorm!
P.S. Search should be ultra-fast ()