Sta Δημοσ. 25 Ιανουαρίου 2010 Δημοσ. 25 Ιανουαρίου 2010 Καλησπέρα σας, Το πρόβλημα σε απλά λόγια είναι το εξής: έχω δύο πίνακες σε μία βάση δεδομένων. Ο πρώτος περιέχει (id1, text1) και ο δεύτερος (id2,text2). Χρειάζομαι να βρω έναν τρόπο να κάνω match τις εγγραφές του πρώτου στο δεύτερο. Το ιδανικό σενάριο είναι για μία εγγραφή (id1,text1) να μπορώ να βρω το ίδιο ακριβώς text2 στο δεύτερο πίνακα και έτσι να φτιάξω το ζεύγος (id1, id2). Συχνά όμως οι εγγραφές διαφέρουν περισσότερο ή λιγότερο. Υπάρχει κάποιος τρόπος να συσχετίσω εγγραφές (text1, text2) και μάλιστα με ένα ορισμένο κατώφλι στην ανοχή στο λάθος; Ευχαριστώ πολύ.
drm Δημοσ. 25 Ιανουαρίου 2010 Δημοσ. 25 Ιανουαρίου 2010 Μπορείς να δοκιμάσεις κάτι τέτοιο: http://en.wikipedia.org/wiki/Levenshtein_distance Συγκρίνει δύο αλφαριθμιτικά με βάση την αλλαγές που χρειάζετε το ένα για να γίνει ίδιο με το άλλο...
Sta Δημοσ. 25 Ιανουαρίου 2010 Μέλος Δημοσ. 25 Ιανουαρίου 2010 Για ποιά βάση μιλάς? Είναι τα πρωτογενή δεδομένα μίας εφαρμογής που φτιάχνω. Η ΒΔ μπορεί να είναι MySQL ή MSSQL...
yourse.gr Δημοσ. 26 Ιανουαρίου 2010 Δημοσ. 26 Ιανουαρίου 2010 Αφού μιλάμε για βάσεις δεδομένων ας απλοποιήσουμε λίγο τα πράγματα. ( Δεν ξέρω αν είναι καλύτερα ( ή ακόμη και εφαρμόσιμα ) αυτά που θα γράψω από του drm ) Άν η βάση σου ήταν MySQL θα μπορούσες να κάνεις ένα full_text index στα κελιά text1, text2 και : Παίρνεις ( select ) όλα ( όσα χρειάζεσαι ) από τον πίνακα 1 για κάθε text1 κάνεις ένα FULL TEXT SEARCH στον πίνακα 2 όσα επιστρέψουν και έχουν το επιθυμητό σκορ τα κρατάς σαν pairs ( id1,id2 ) Full Text Search έχει και ο SQL Server και πιστεύω πολλές ακόμα βάσεις δεδομένων
Aztec Δημοσ. 26 Ιανουαρίου 2010 Δημοσ. 26 Ιανουαρίου 2010 Αυτό είχα και εγώ υπόψη μου γι αυτό ρώτησα για βάση. Και οι δύο βάσεις που λες υποστηρίζουν full text search αλλα είναι πολύ πιθανόν να χρειαστεί να προγραμματίσεις και λίγο. Όσο θυμάμαι η mysql δεν δέχεται σαν keywords στο AGAINST() values απο πίνακα.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.