αναζητηση με φραση σε πολλα cols

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

αναζητηση με φραση σε πολλα cols

Δημοσίευση από jpk » 18 Ιουν 2011 18:04

pimpogio έγραψε:οι live αναζητησεις ... αμα εχεις πολλους επισκεπτες θελεις caching
Αν έχεις πάρα μα πάρα πολλούς επισκέπτες και από στατιστικά γνωρίζεις ότι υπάρχουν κάποιες αναζητήσεις με ποσοστά πολύ πάνω από άλλες (το scaling – το έχω ξαναπεί – είναι μη διδασκόμενη επιστήμη)

Επειδή έχω δει και συγκρίνει στην πράξη θεωρίες που άλλα λένε για τις βάσεις και άλλο συμβαίνει πραγματικά, κάθε άποψη για να την έχουμε πρέπει να την έχουμε δοκιμάσει.
Apostolis_38 έγραψε:Απλώς η Oracle έχει μια "ψύχωση" να προσπαθεί να αγοράσει ότι καλό κυκλοφορεί σε open source.
Και προς το παρόν της έχει βγει σε καλό. Αν αναλογιστείς το τι πουλάει σε σύγκριση με το ποσοστό πρόσβασης που έχει σε εταιρίες , δείχνει να είναι σωστή στρατηγική (δεν συνυπολογίζω πόσο έχει συμβάλει στην κατάρρευση της Java , καθώς αν το δεις εταιρικά αν η ZEND πουλούσε παντελόνια με επιτυχία δεν θα ασχολούταν με την PHP).


Επειδή αυτά και άλλα δείχνουν ότι υπάρχει ανάγκη ανταλλαγής απόψεων για περισσότερα ζητήματα που έχουν να κάνουν με την PHP , τον αρχιτεκτονικό σχεδιασμό , την σχεδίαση μοντέλων δεδομένων και άλλα μια πρόταση στους «ιθύνοντες» του forum είναι να φτιάξουν υποκατηγορίες κάτω από τον PHP προγραμματισμό. Αλλά ας επιστρέψουμε σε αυτό που ρώτησε ο jmaz μιας και είναι η πρώτη του ερώτηση εδώ και είναι λίγο αγενές να λέμε ότι μας κατέβει. Παρεμπιπτόντως καλώς ήρθες στο freestuff jmaz.

jmaz
Δημοσιεύσεις: 20
Εγγραφή: 18 Ιουν 2011 15:51

αναζητηση με φραση σε πολλα cols

Δημοσίευση από jmaz » 18 Ιουν 2011 18:13

jpk έγραψε:Παρεμπιπτόντως καλώς ήρθες στο freestuff jmaz.
σε ευχαριστω πολυ φιλαρακι! και σας ευχαριστω για την αμεση απαντηση στο θεμα μου!

λοιπον αυτο που φτιαχνω ειναι κατι το οποιο θα βασιζεται στην αναζητηση, οποτε δεν μπορω να πω οτι θα ειναι μονο 10-15 χρηστες ταυτοχρονα. επειδη ομως δεν ξερω νουμερα για να σας πω, θεωρω οτι θα ειναι αρκετες (σε στυλ vres.gr, skroutz.gr ή κατι παρομοιο)

τι προτεινεται για να κανω αυτο που λεω?
Τελευταία επεξεργασία από το μέλος jmaz την 18 Ιουν 2011 18:33, έχει επεξεργασθεί 2 φορές συνολικά.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

αναζητηση με φραση σε πολλα cols

Δημοσίευση από fafos » 18 Ιουν 2011 18:16

theoritika exo lysh gia to ellhniko xreos kai sou feiaxno to google se ena apogeuma... exeis katanthsei san ton papakostantinou re sy pimpogio.. kai oi dyo mas phdhksate me tis theories sas.. apo praxh, alou to oneiro kai allou to thauma.. dose thn lysh sto palikari na teleionoume.. mono mhn ton valeis na paei se server ths NASA...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

αναζητηση με φραση σε πολλα cols

Δημοσίευση από pimpogio » 18 Ιουν 2011 18:18

το index ειδικα για το btree σε παει απο O(N) της σειριακης αναζητησης σε O(logN) του balanced tree
αλλα οταν ψαχνεις κειμενο που το indexing γινετε
αλφαβητικα στο btree τα πραματα ειναι ζορικα και στο O(logN) στους μηχανικους δισκους υπαρχει προβλημα
με την ταχύτητα μετακίνησης των κεφαλων στο random i/o οταν ψαχνει σε διαφορα σημεια την ιδια στιγμη.. αμα ειναι ssd αλλαζει το πραγμα..

Η λυση ειναι μια ετοιμη μηχανη αναζητησης οπως η lucene η οποια ειναι σε java
και υπαρχει και στο zend framework μια υλοποιηση σε php η οποια απο οτι διαβασα δεν ειναι τοσο καλη..
Τελευταία επεξεργασία από το μέλος pimpogio την 18 Ιουν 2011 18:21, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

αναζητηση με φραση σε πολλα cols

Δημοσίευση από jpk » 18 Ιουν 2011 18:18

@jmaz > Και για τα sites που ανέφερες δεν αξίζει να κάνεις cashing σε αναζητήσεις (δες όλα τα sites στατιστικών που υπάρχουν). Δες λίγο αυτό που σου πρότεινα στην αρχή και αυτό που είπε και ο fafos. Ασχολήσου προς το παρών μόνο με το να είναι λογικός ο κώδικάς σου – όμορφη (κανονικοποιημένη) η βάση σου και όλα τα υπόλοιπα θα έρθουν με την επιτυχία του εγχειρήματος σου που την εύχομαι.
Τελευταία επεξεργασία από το μέλος jpk την 18 Ιουν 2011 18:35, έχει επεξεργασθεί 1 φορά συνολικά.

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

αναζητηση με φραση σε πολλα cols

Δημοσίευση από pimpogio » 18 Ιουν 2011 18:28

ο παπακωσταντινου δε λεει θεωριες για λυση για διαλυση λεει για κονομισουνε μερικα τσακαλια.Η λυση ειναι απλη πτωχευση για να μην τα χασουμε ολα...

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

αναζητηση με φραση σε πολλα cols

Δημοσίευση από jpk » 18 Ιουν 2011 18:29

pimpogio έγραψε:το index ειδικα για το btree σε παει απο O(N) της σειριακης αναζητησης σε O(logN) του balanced tree
Μην παρεξηγήσεις αυτό που λέω δεν το λέω για κακό. Το να είσαι προγραμματιστής είναι ένα υπέροχο ταξίδι σε αυτή την ζωή , περνάν από τα μάτια σου υπέροχες ήττες και κάποιες στιγμές ένδοξης επιφοίτησης. Αν θέλεις να τα ζήσεις όλα αυτά μην χρησιμοποιείς τετριμμένα (όποιος στην φράση του έχει πάνω από 3 ακρωνύμια χωρίς εξήγηση καλύπτει την άγνοιά του). Αν θέλεις να τα ζήσεις όλα αυτά ο δρόμος είναι απλός , γίνε προγραμματιστής. Ακόμα και λίγα να παίρνεις για αρχή αν δεν μπεις στην «μάχη» δεν μαθαίνεις.

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

αναζητηση με φραση σε πολλα cols

Δημοσίευση από pimpogio » 18 Ιουν 2011 18:47

εδω ειναι η εξηγηση αναλυτικα για το πως δουλευει το btree
http://en.wikipedia.org/wiki/Btree
αλλα δεν χρειαζεται...

το O(logN) σε κειμενο φτανει...

η εξηγηση ειναι απλη απλη το btree εχει υψος logN λογω του οτι ειναι balanced
αρα για την αναζητηση εχει O(logN)
αλλα το O(logN) εδω δεν ειναι λιγο οπως θα ειτανε πχ με ints γιατι εχουμε κειμενο...

και οι υπολογιστες δεν συγκρινουνε κειμενο ints συγκρινουνε δηλαδη κανουνε τη συγκριση χαρακτηρα χαρακτηρα οποτε βαλε ας πουμε και καμμια 30αρια φορες περισσοτερο
σε σχεση με τους ints

k
http://en.wikipedia.org/wiki/Logarithmi ... thmic_time
Τελευταία επεξεργασία από το μέλος pimpogio την 18 Ιουν 2011 19:02, έχει επεξεργασθεί 1 φορά συνολικά.

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

αναζητηση με φραση σε πολλα cols

Δημοσίευση από jpk » 18 Ιουν 2011 18:58

pimpogio έγραψε:το O(logN) σε κειμενο φτανει...
Πες με αργό , πες με ότι θες αλλά για εμένα δεν φτάνει … Θα έφτανε να εξηγούσες τι λες. Αλλά δεν εξηγείς. Αν έχεις καταλάβει τι λες. τι άλλο λόγο θα είχες να μην το κάνεις κοινό κεκτημένο εκτός της επιδείξεως άχρηστης γνώσης; (άχρηστη όταν δεν την κοινωνείς) (αν ψάχνεις δουλειά μέσω αυτού μάλλον δεν το έχεις καταλάβει καλά , αν πάλι είναι θέμα αυτοεπιβεβαίωσης απλά δεν σχολιάζω) Και η επίδειξη δεν είναι κακό … απλά υπάρχουν άπειροι τρόποι να την κάνεις

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

αναζητηση με φραση σε πολλα cols

Δημοσίευση από korgr » 18 Ιουν 2011 19:07

jpk έγραψε: Μην παρεξηγήσεις αυτό που λέω δεν το λέω για κακό. Το να είσαι προγραμματιστής είναι ένα υπέροχο ταξίδι σε αυτή την ζωή , περνάν από τα μάτια σου υπέροχες ήττες και κάποιες στιγμές ένδοξης επιφοίτησης. Αν θέλεις να τα ζήσεις όλα αυτά μην χρησιμοποιείς τετριμμένα (όποιος στην φράση του έχει πάνω από 3 ακρωνύμια χωρίς εξήγηση καλύπτει την άγνοιά του). Αν θέλεις να τα ζήσεις όλα αυτά ο δρόμος είναι απλός , γίνε προγραμματιστής. Ακόμα και λίγα να παίρνεις για αρχή αν δεν μπεις στην «μάχη» δεν μαθαίνεις.
Φίλε ειλικρινά θέλω να σε γνωρίσω από κοντά!
+1

@pimpogio
Όπως έχει πει ο φίλος μου ο Αλέξης (cpulse), προγραμματισμός είναι η διαδικασία κατά την οποία προσθέτουμε σφάλματα στον κώδικα. Αποσφαλμάτωση είναι η διαδικασία που παράγει λειτουργικό κώδικα!
Προγραμματίζουμε όταν ακουμπάμε τα δάκτυλα στο keyboard και όχι με τα μάτια κολημένα σε wiki και βιβλία!

Όταν θα βρεθείς αντιμέτωπος με τα πραγματικά προβλήματα θα λατρέψεις και εσύ την myisam. Ξέρεις γιατί λατρεύεις την innodb? Γιατί τρέμεις την ιδέα (λόγω έλειψης γνώσης?) του να αντιμετωπίσεις μέσω της php και της δικής σου λογικής την σχετικότητα!
Πήγαινε και παίξε με το http://demo.mymanagement.gr που το διαχειρίζεται ο καθένας ανοικτά, και πρσπάθησε να διαγράψεις αυθαίρετα εγγραφές (πελάτες, έσοδα, έξοδα κλπ). Μίλα μου μετά για σχέσεις. Και ω ναι είναι myisam και γαμεί στις αναζητήσεις γιατί αυτό που είπε ο fafos είναι αναντικατάστατο! Full text search! Τις σχέσεις της βάσης τις αντιμετωπίζεις μακρυά από την innodb, αλλά το πρόβλημα τέτοιων αναζητήσεων όχι μακρυά από myisam. Κάποτε θα καταλάβεις γιατί όλοι όσοι δημιουργούν CMS χρησιμοποιούν myisam. Μέχρι τότε άσε την θεωρία να σου γεμίζει το κεφάλι σαν αέρας κοπανιστός!

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

αναζητηση με φραση σε πολλα cols

Δημοσίευση από jpk » 18 Ιουν 2011 19:28

Μην δαιμονοποιήσουμε και τον pimpogio σίγουρα προσφέρει το παλικάρι στο να πάει η συζήτηση παρακάτω (αλλά όπως είπα ξεφεύγουμε … και ίσως πρέπει να το δουν αυτό οι "ιθύνοντες" και να φτιάξουν και άλλες κατηγορίες κάτω από το PHP προγραμματισμός).

Ποτέ δεν ήταν το θέμα ποια engine χρησιμοποιείς αν ο κώδικάς σου δεν κάνει για όλες της μηχανές μιας βάσης δεν είσαι καλά. Ακόμα περισσότερο ούτε καν ποια βάση δεδομένων χρησιμοποιείς δεν πρέπει να είναι θέμα , πρέπει ο ίδιος κώδικας να παίζει σε DB2 και σε MySQL μια χαρά και σε οτιδήποτε. Το τελευταίο είναι δύσκολο το ξέρω , αλλά υπάρχουν τρόποι.

Σε όλα αυτά υπάρχουν άπειρες λύσεις views , stored procedures και ένα σορό άλλα καλούδια (έχει πλάκα η λέξη). Σε πολλές εταιρίες υπάρχουν προγραμματιστές και data managers που έχουν να κάνουν με σχετικές εργασίες. Για να μην ξεχνιόμαστε ακόμα οι πιο παραδοσιακά «σοβαρές» εργασίες σε αυτόν τον πλανήτη είναι σε VSAM και παρόλα αυτά τα αεροπλάνα πετάνε και οι τράπεζες μπορούν να έχουν e-banking.

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

αναζητηση με φραση σε πολλα cols

Δημοσίευση από pimpogio » 18 Ιουν 2011 19:35

δεν ειναι επιδειξη...
τα βιβλια για αρχαριους πχ στην java/c++ τα εισαγωγικα
οπως του deitel λενε μεσα για την πολυπλοκοτητα οταν λενε το api για τις δομες δεδομενων...

Ειναι δηλαδη πολυ βασικη έννοια στον προγραμματισμο ο συμβολισμος Ο στους αλγοριθμους και στις δομες δεδομενων.

Πουθενα οπου δεις καποιο αλγοριθμο η δομη δεδομενων δεν τον λεει χωρις να λεει για την πολυπλοκοτητα του..

Εσυ μπορεις να μην ξερεις καν πως δουλει η list το hashtable το binary tree to btree to binary search to serial search ktlp
αμα ξερεις ομως την πολυπλοκοτητα του εκανες την δουλεια σου γιατι το βλεπεις σαν μαυρο κουτι
---
Χτες εφτιαξα μια βαση που τις εβαζε αυτοματα δεδομενα ενα προγραμμα (100κ εγγραφες) λογω του οτι ειτανε σωστη με foreign keys οταν πηγανε να μπουνε λαθος δεδομενα πεταξε exception που αμα ειχα myisam θα εψαχνα ψυλους στα αχυρα για να την κανω debug..
επισης μετα πηγα να σβησω και δεν αφησε να το κανω και να την καταστρεψω λογω των ελεγχων ακεραιότητας..
(συγκεριμενα ειχα βαλει το PDO σε exception mode και κεντρικο exception handler γιατι ειχα μυριστει τη δουλεια οτι η λιστα μπορει να εχει μουφες μεσα και γλυτωσα 5-6 φορες)


Το οτι εβαλες myisam σε αυτη την εφαρμογη ειναι ΤΕΡΑΣΤΙΟ λαθος και πηγενε ρωτα οποιο θες σχετικο να σου το πει η myisam πολυ απλα δεν κανει γι αυτη τη δουλεια γιατι ουτε transactions εχει ουτε foreign key contraints.

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

αναζητηση με φραση σε πολλα cols

Δημοσίευση από jpk » 18 Ιουν 2011 19:45

pimpogio έγραψε:ΤΕΡΑΣΤΙΟ λαθος.
Δεκτά αυτά που λες αλλά για να κερδίσω και εγώ κάτι που διαβάζω το μήνυμα σου δώσε μου ένα παράδειγμα χρήσης του O(N) σε αντιπαραβολή με το O(logN) για να καταλάβω τι λες.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

αναζητηση με φραση σε πολλα cols

Δημοσίευση από korgr » 18 Ιουν 2011 19:50

pimpogio έγραψε: Το οτι εβαλες myisam σε αυτη την εφαρμογη ειναι ΤΕΡΑΣΤΙΟ λαθος και πηγενε ρωτα οποιο θες σχετικο να σου το πει η myisam πολυ απλα δεν κανει γι αυτη τη δουλεια γιατι ουτε transactions εχει ουτε foreign key contraints.
Πω πωωωω!
Αρχίζω rebuild τώρα αμέσως! :hammer:


Το μόνο τεράστιο λάθος φίλε μου είναι οι παρωπίδες που έχεις φορέσει 8)
Μου θυμίζεις εμένα όταν το 1998 έκατσα να διαβάσω να μάθω Flash. Για να μην απογοητευτώ είχα πείσει τον εαυτό μου ότι δεν θα αγγίξω την εφαρμογή αν δεν μάθω τα πάντα στη θεωρία πρώτα!
2 μήνες διάβασα ότι μπορείς να φανταστείς! Μετά ένιωσα ο Master of the Universe και έκατσα να κάνω ένα "super duper interactive" site!
Ήταν η στιγμή που συνειδητοποιούσα πως πρωτοάνοιγα το βιβλιο της γνώσης!
Την τύφλα μου δεν ήξερα!
Τώρα ξέρω!
Όχι γιατί διάβασα, αλλά γιατί μέτρησα χιλιόμετρα από timeline πραγματικών movies!

ΥΓ Δεν μου είπες διέγραψες τους πελάτες ώστε να μείνουν ορφανές οι υπόλοιπες εγγραφές;

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

αναζητηση με φραση σε πολλα cols

Δημοσίευση από jpk » 18 Ιουν 2011 20:08

korgr έγραψε:Την τύφλα μου δεν ήξερα!
Λάθος χρόνος , μόνος ο Ενεστώτας είναι οριστικός , «την τύφλα μου δεν ξέρω»… έχω αναγκαστεί να συνεργαστώ με ανθρώπους που δεν ξέρουν τίποτα και πουλάνε μούσια (ποτέ το διδακτορικό δεν είναι θέμα … κάποιοι με διδακτορικό έχουν και γνώση άρα τους σέβομαι κάποιοι άλλοι όχι, οπότε… ) (μου έχουν τύχει και από το MIT που δεν ήξεραν κάτι στην δουλειά και ζητούσαν βοήθεια … σε αυτούς ατελείωτος σεβασμός) . Στο freestuff είμαι γιατί πια δουλεύω σχετικά μόνος (ως παραγωγή κώδικα) και μου λείπει η προγραμματιστική παρέα. Δεν απαιτώ να πείτε και εσείς γιατί είστε στο freestuff αλλά για τον pimpogio έχει κάποιο νόημα.

Να απαντώ σε όλες τις παρανοήσεις που έχεις κάνει pimpogio; Θα σε βοηθήσει αυτό ; Θα το δεις ότι στην λέω; Σίγουρα δεν έχω διάθεση αντιπαράθεσης και δεν χρειάζεται να επινοούμε βαρβάρους. (Αλλά αν είναι να επινοήστε , βάλτε εμένα ως βάρβαρο)

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες