Aynı İsme Sahip Yazarları Unique Tutma
-
Merhaba,
authors tablomuz olsun içerisinde id ve name alanları ben kitapyurdu,xyz,zyx sitelerinden tüm yazarları kaydetmek isteyeyim gayet normal olarak şöyle bir sorun çıkıyorki bazı yazarların ismi birebir aynı ama aslında ayrı kişiler bunları tabloda nasıl bir unique değer ile tutabilirim kitap yurdu burada id gibi bir değer de tutmuş ama diyelim bir yerden xml alıyor orada ki listede gelen mahmut coşkun kendi yazarlar tablosunda bulunan mahmut coşkun' dan farklı biri yeni bir mahmut coşkun veya kendisinde bulunan iki mahmut coşkundan biri ama hangisi?
Yorum, öneri, hunharca eleştrilerinizi bekliyorum.
örnek
https://www.kitapyurdu.com/yazar/mahmut-coskun/52986.htmlhttps://www.kitapyurdu.com/yazar/mahmut-coskun/209780.html
--------------------------------------------------------------------
https://www.kitapyurdu.com/yazar/mahmut-sahin/16719.html
https://www.kitapyurdu.com/yazar/mahmut-sahin/53460.html
----------------------------------------------------------------
-
Hocam zaten sırf bu durum için id'yi unique primary ve ai yapıyoruz.
Daha geniş tablo oluşturma için database normalization öğrenmen gerekebilir, ancak özetle ID candır, kimlik numarasıdır, kafa kağıdıdır
-
Bende oyumu otomatik artan id'den yana kullanıyorum.
-
dönen xml içinde sadece isim değil id yide dönersen sorun çözülür
-
Sanırım sen şunu sormak istiyorsun ; Kitapyurdu sitesinden yazarları çektim mahmut coşkun adında birden fazla yazar var. Sonra gittim başka bir siteden daha yazarları çekiyorum orada da mahmut coşkun adında bir veya birden fazla yazar bilgisi çektim. Bu mahmut coşkunları ne yapacağım ?
Çektiğin sitelerde muhakkak id değerine göre tutuyordur bu isimleri. (Örnekte belirtmişsin zaten) Sitelerden yazarları çekerken varsa kısa biyografilerini çekip regex ile doğum tarihi vs buldurabilirsin belki. Ya da yazar isimlerini çekerken kitaplarının isimlerini de çektirirsin. (Kitap isimleri daha mantıklı bence) Sonra bunlara göre kıyaslama yaptırabilirsin diye düşünüyorum. Aynı isme sahip yazarların aynı isimlerde kitaplar yazması çok düşük bir olasılık olsa gerek.
Tabi yazdığınız bot , yazarları ve diğer bilgileri çekip tablo veya tablolara kaydettikten sonra veritabanı yedeğini alıp bu ayıklama işine girmeni tavsiye ederim.
-
coder2 bunu yazdı
Sanırım sen şunu sormak istiyorsun ; Kitapyurdu sitesinden yazarları çektim mahmut coşkun adında birden fazla yazar var. Sonra gittim başka bir siteden daha yazarları çekiyorum orada da mahmut coşkun adında bir veya birden fazla yazar bilgisi çektim. Bu mahmut coşkunları ne yapacağım ?
Çektiğin sitelerde muhakkak id değerine göre tutuyordur bu isimleri. (Örnekte belirtmişsin zaten) Sitelerden yazarları çekerken varsa kısa biyografilerini çekip regex ile doğum tarihi vs buldurabilirsin belki. Ya da yazar isimlerini çekerken kitaplarının isimlerini de çektirirsin. (Kitap isimleri daha mantıklı bence) Sonra bunlara göre kıyaslama yaptırabilirsin diye düşünüyorum. Aynı isme sahip yazarların aynı isimlerde kitaplar yazması çok düşük bir olasılık olsa gerek.
Tabi yazdığınız bot , yazarları ve diğer bilgileri çekip tablo veya tablolara kaydettikten sonra veritabanı yedeğini alıp bu ayıklama işine girmeni tavsiye ederim.
arkadaşın dediği yöntem iş görebilir. ayrıca bu işi botla daha hızlı yaptırmak için önce her siteyi ayrı ayrı gezip gerekli bilgileri topladıktan sonra normalize edersen hem orjinal verileri saklamış olursun (ileride bir yanlış farkedersen oradan düzeltme yapabilirsin) hemde botları paralel çalıştırıp işleri hızlandırırsın.
-
TeRRoR bunu yazdıcoder2 bunu yazdı
Sanırım sen şunu sormak istiyorsun ; Kitapyurdu sitesinden yazarları çektim mahmut coşkun adında birden fazla yazar var. Sonra gittim başka bir siteden daha yazarları çekiyorum orada da mahmut coşkun adında bir veya birden fazla yazar bilgisi çektim. Bu mahmut coşkunları ne yapacağım ?
Çektiğin sitelerde muhakkak id değerine göre tutuyordur bu isimleri. (Örnekte belirtmişsin zaten) Sitelerden yazarları çekerken varsa kısa biyografilerini çekip regex ile doğum tarihi vs buldurabilirsin belki. Ya da yazar isimlerini çekerken kitaplarının isimlerini de çektirirsin. (Kitap isimleri daha mantıklı bence) Sonra bunlara göre kıyaslama yaptırabilirsin diye düşünüyorum. Aynı isme sahip yazarların aynı isimlerde kitaplar yazması çok düşük bir olasılık olsa gerek.
Tabi yazdığınız bot , yazarları ve diğer bilgileri çekip tablo veya tablolara kaydettikten sonra veritabanı yedeğini alıp bu ayıklama işine girmeni tavsiye ederim.
arkadaşın dediği yöntem iş görebilir. ayrıca bu işi botla daha hızlı yaptırmak için önce her siteyi ayrı ayrı gezip gerekli bilgileri topladıktan sonra normalize edersen hem orjinal verileri saklamış olursun (ileride bir yanlış farkedersen oradan düzeltme yapabilirsin) hemde botları paralel çalıştırıp işleri hızlandırırsın.
Arkadaşa katılıyorum. Tüm datalari toplayıp merge ederken, eşleşenleri filtre eder doğru şekilde eslestirirsin. Ismen aynı olanların idleri farklı olacağından bir hataya yol açmaz
-
SUPERBICO bunu yazdıTeRRoR bunu yazdıcoder2 bunu yazdı
Sanırım sen şunu sormak istiyorsun ; Kitapyurdu sitesinden yazarları çektim mahmut coşkun adında birden fazla yazar var. Sonra gittim başka bir siteden daha yazarları çekiyorum orada da mahmut coşkun adında bir veya birden fazla yazar bilgisi çektim. Bu mahmut coşkunları ne yapacağım ?
Çektiğin sitelerde muhakkak id değerine göre tutuyordur bu isimleri. (Örnekte belirtmişsin zaten) Sitelerden yazarları çekerken varsa kısa biyografilerini çekip regex ile doğum tarihi vs buldurabilirsin belki. Ya da yazar isimlerini çekerken kitaplarının isimlerini de çektirirsin. (Kitap isimleri daha mantıklı bence) Sonra bunlara göre kıyaslama yaptırabilirsin diye düşünüyorum. Aynı isme sahip yazarların aynı isimlerde kitaplar yazması çok düşük bir olasılık olsa gerek.
Tabi yazdığınız bot , yazarları ve diğer bilgileri çekip tablo veya tablolara kaydettikten sonra veritabanı yedeğini alıp bu ayıklama işine girmeni tavsiye ederim.
arkadaşın dediği yöntem iş görebilir. ayrıca bu işi botla daha hızlı yaptırmak için önce her siteyi ayrı ayrı gezip gerekli bilgileri topladıktan sonra normalize edersen hem orjinal verileri saklamış olursun (ileride bir yanlış farkedersen oradan düzeltme yapabilirsin) hemde botları paralel çalıştırıp işleri hızlandırırsın.
Arkadaşa katılıyorum. Tüm datalari toplayıp merge ederken, eşleşenleri filtre eder doğru şekilde eslestirirsin. Ismen aynı olanların idleri farklı olacağından bir hataya yol açmaz
hatta buna bir puntaj algoritması yazıp yeterli puanın altında kalan eşleşmeler için manuel seçenek sunarak editöre bırakabilirsin aynı/farklı seçimini.
-
NoktaliVirgul bunu yazdı
Bende oyumu otomatik artan id'den yana kullanıyorum.
+1
-
@coder2 arkadaş anlamış ne demek istediğimi sanırım bende yazarın kitapları üzerinden gideceğim id önerisi sunan arkadaşlar sorum autoinc primary key sorusu değildi tamamen senaryo sorusuydu coder2, terror teşekkürler
-
TeRRoR bunu yazdıcoder2 bunu yazdı
Sanırım sen şunu sormak istiyorsun ; Kitapyurdu sitesinden yazarları çektim mahmut coşkun adında birden fazla yazar var. Sonra gittim başka bir siteden daha yazarları çekiyorum orada da mahmut coşkun adında bir veya birden fazla yazar bilgisi çektim. Bu mahmut coşkunları ne yapacağım ?
Çektiğin sitelerde muhakkak id değerine göre tutuyordur bu isimleri. (Örnekte belirtmişsin zaten) Sitelerden yazarları çekerken varsa kısa biyografilerini çekip regex ile doğum tarihi vs buldurabilirsin belki. Ya da yazar isimlerini çekerken kitaplarının isimlerini de çektirirsin. (Kitap isimleri daha mantıklı bence) Sonra bunlara göre kıyaslama yaptırabilirsin diye düşünüyorum. Aynı isme sahip yazarların aynı isimlerde kitaplar yazması çok düşük bir olasılık olsa gerek.
Tabi yazdığınız bot , yazarları ve diğer bilgileri çekip tablo veya tablolara kaydettikten sonra veritabanı yedeğini alıp bu ayıklama işine girmeni tavsiye ederim.
arkadaşın dediği yöntem iş görebilir. ayrıca bu işi botla daha hızlı yaptırmak için önce her siteyi ayrı ayrı gezip gerekli bilgileri topladıktan sonra normalize edersen hem orjinal verileri saklamış olursun (ileride bir yanlış farkedersen oradan düzeltme yapabilirsin) hemde botları paralel çalıştırıp işleri hızlandırırsın.
yazılımcısınız ya hıamına,
@TeRRoR gerekli açıklamayı yapmış, anlatmaya gerek yok.
saybirs tarafından 23/Oca/19 21:28 tarihinde düzenlenmiştir