• 28-09-2015, 17:27:51
    #1
    Arkadaşlar bunu okuyan bunu da okudu mantığını kurmak için en optimize database ayapısı ve algoritma nedir?
    Kafam durdu şu anda. Şimdi kullanıcı hareketlerini loglatıp gruplatmak dışında nasıl bir yöntem izlenebilir?
    Arama sonuçlarını gruplamak mı?
    Nasıl bir mantık izlenebilir?
    Şu anda bir algoritma kuramadım kafamda. Her türlü fikire açığım.
  • 28-09-2015, 18:34:51
    #2
    Üyeliği durduruldu
    digiklan adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar bunu okuyan bunu da okudu mantığını kurmak için en optimize database ayapısı ve algoritma nedir?
    Kafam durdu şu anda. Şimdi kullanıcı hareketlerini loglatıp gruplatmak dışında nasıl bir yöntem izlenebilir?
    Arama sonuçlarını gruplamak mı?
    Nasıl bir mantık izlenebilir?
    Şu anda bir algoritma kuramadım kafamda. Her türlü fikire açığım.

    Bu tür durumlarda genelde aynı kategoriden random 5 veya 10 adet veri basılıyor. Başlığı da dediğiniz gibi yapınca sırıtmıyor.

    diğer türlü hakikaten yapılacaksa db için yorucu olacaktır bilhassa içerik arttıkça...
  • 28-09-2015, 18:51:39
    #3
    benim sitem bir sözlük sitesi olduğu ve her kategoride bir biri ile alakasız binlece kayıt olduğu için aynı kategori çözümü makul değil.

    bir kahve içtikten sonra şöyle bir çözüm buldum. arama sisteminde aramaları bir önceki kelime ile eşleştireceğim. bir ilişki tablosu kurup yapılan her aramayı bir önceki arama ile eşleştireceğim. tabi 86k kayıt olan bir veritabanında ilişki tablosunun boyutu 86.000 faktöriyel gibi korkunç bir boyuta ulaşmasın diye bir cache sistemi düşündüm.

    bir kelime ile ilgili 5 alakalı kelime 10 ar kez eşleştirildiğimde ilişki tablosundan silip kaydın kendisinde bir kolona json olarak yazacağım. böylece ziyaretçi hareketleri ile gerçek ve tutarlı önermeleri doğrudan çıkarabilirim.


    Sent from my iPhone using Tapatalk
  • 28-09-2015, 20:13:19
    #4
    merhaba,
    çok kahve içmeyin şeklinde bir latife yaparak bir tavsiye vereyim. vermiş olduğunuz faktöriyel ihtimali elbette sözkonusu fakat bunu okuyan bunu da okudu kapsamında bir yönlendirme verecekseniz, bu olası kombinasyonların adetleri sizi ilgilendiriyor olacak. bunların en fazlaları ile çalışacaksınız. yoksa teoride muhakkak çokca kombinasyon sözkonusu.

    eğer gerçekten bunu okuyan bunu da okudu verisi vermek istiyorsanız bu datayı saklamalısınız. sisteminizi, sunucu ve veritabanı yapınızı bilmiyorum fakat fikir vermesi açısından şöyle bir yol önerebilirim.

    bir sayfaya girildiğinde o sayfaya yönlendiren referer'ı kayıt altına alın.
    yani;
    okunan - referer - sayac
    105 - 100 - 4
    107 - 105 - 3

    şeklinde 3 stun işinizi görecektir. burada sayac aynı satırları tekrar tekrar eklememek ve ileride çok satırlı bir tablo içinde count yapmamak için kullanılabilir. anlık trafiğinizi bilmiyorum, cache kullanıyor musunuz onu da bilmiyorum. dilerseniz count kullanmayabilir, insert'i bu tabloya yaparken geçici bir tabloda count'lu versiyonlarını zaman zaman güncelleyebilirsiniz. sanıyorum daha sağlıklı olacaktır.

    zaman içerisinde elbette çokca satır oluşacak fakat gerçek bir sonuç vermek istiyorsanız bu yönlendirmeleri saymanız gerekir.

    zaman zaman yönlendirme az olan satırları silerek tablonuzu rahatlatabilirsiniz. zaman içerisinde elinizde sağlıklı bir istatistik birikecektir.

    kişi bir entry okurken ona referans olan ve onun referans verdiği sayfalardan sayacı çok olanları istediğiniz kadar çekip alakalı entry gösterebilirsiniz.

    kolaylıklar
  • 29-09-2015, 00:44:13
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    bunu okuyan bunu da okudu alanlarında kelimelere takılmamak lazım. yani gerçekten onu okuyan bunu da okumuş değildir çoğu sitede.

    @MUTE 'in belirttiği gibi yazılar ya kategorilerine göre, ya etiketlerine göre yada yazarlarına göre gruplanır. mutlaka gruplayabileceğin birşey vardır. tavsiye yazılarda da bu gruplamalardan birini yada hepsini kombinleyerek tavsiye yazılar gösterebilirsin.

    birebir okunma sayılarına göre gerçekçi yapacağım dersen işin içinden çıkamazsın. tablolarındaki satır sayısı milyon mertebesine ulaşınca algoritman siteni yavaşlatacaktır.
  • 29-09-2015, 01:12:16
    #6
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    merhaba,
    çok kahve içmeyin şeklinde bir latife yaparak bir tavsiye vereyim. vermiş olduğunuz faktöriyel ihtimali elbette sözkonusu fakat bunu okuyan bunu da okudu kapsamında bir yönlendirme verecekseniz, bu olası kombinasyonların adetleri sizi ilgilendiriyor olacak. bunların en fazlaları ile çalışacaksınız. yoksa teoride muhakkak çokca kombinasyon sözkonusu.

    eğer gerçekten bunu okuyan bunu da okudu verisi vermek istiyorsanız bu datayı saklamalısınız. sisteminizi, sunucu ve veritabanı yapınızı bilmiyorum fakat fikir vermesi açısından şöyle bir yol önerebilirim.

    bir sayfaya girildiğinde o sayfaya yönlendiren referer'ı kayıt altına alın.
    yani;
    okunan - referer - sayac
    105 - 100 - 4
    107 - 105 - 3

    şeklinde 3 stun işinizi görecektir. burada sayac aynı satırları tekrar tekrar eklememek ve ileride çok satırlı bir tablo içinde count yapmamak için kullanılabilir. anlık trafiğinizi bilmiyorum, cache kullanıyor musunuz onu da bilmiyorum. dilerseniz count kullanmayabilir, insert'i bu tabloya yaparken geçici bir tabloda count'lu versiyonlarını zaman zaman güncelleyebilirsiniz. sanıyorum daha sağlıklı olacaktır.

    zaman içerisinde elbette çokca satır oluşacak fakat gerçek bir sonuç vermek istiyorsanız bu yönlendirmeleri saymanız gerekir.

    zaman zaman yönlendirme az olan satırları silerek tablonuzu rahatlatabilirsiniz. zaman içerisinde elinizde sağlıklı bir istatistik birikecektir.

    kişi bir entry okurken ona referans olan ve onun referans verdiği sayfalardan sayacı çok olanları istediğiniz kadar çekip alakalı entry gösterebilirsiniz.

    kolaylıklar
    Aslında benim düşündüğüm de buydu eksin anlattım sanırım. Satıra bir sayac sütunu koyup haftalık olarak 2'nin altındaki sayaçlı ilişki kayıtlarını rastlantısal görüp tamamen silip, sayacı 5 üzerinde olan kayıtları da muhtemel eşleşme olarak ilişki tablosundan silip kaydın kendi tablosunda alakalılar kolonuna taşımak gibi bir yok izlemeyi düşünüyorum.
    Eğer alakalılar kolonu boş değilse sistem hiç bir işlem yapmadan direk bunu basacak. Böylece sunucu yükü giderek hafifleyecek.

    Ama ben sizin düşündüğünüz referrer kaydı yerine ilk başta site içi arama kayıtlarını referans almayı planlıyorum. Çünkü ziyaretçilerin tüm hareketlerini loglamak anlık trafiğin yüksek olduğu anlarda büyük yük getirecektir.



    pg13 adlı üyeden alıntı: mesajı görüntüle
    bunu okuyan bunu da okudu alanlarında kelimelere takılmamak lazım. yani gerçekten onu okuyan bunu da okumuş değildir çoğu sitede.

    @MUTE 'in belirttiği gibi yazılar ya kategorilerine göre, ya etiketlerine göre yada yazarlarına göre gruplanır. mutlaka gruplayabileceğin birşey vardır. tavsiye yazılarda da bu gruplamalardan birini yada hepsini kombinleyerek tavsiye yazılar gösterebilirsin.

    birebir okunma sayılarına göre gerçekçi yapacağım dersen işin içinden çıkamazsın. tablolarındaki satır sayısı milyon mertebesine ulaşınca algoritman siteni yavaşlatacaktır.

    Gruplayacak sistemin gerçekten semantik bütünlük içerisinde olması çok önemli. Bu yeni ziyaretçilerin yenis ayfalara geçişini sağlayacak önemli bir konu. Mesela enflasyon ile ilgili yazdığınız bir yazıda stabil ekonomik veriler diye bir ibare geçiyor. Ve ziyaretçilerin %80'i bu kelimenin anlamını bilmeyerek bu kelimeyi aratıyor. Burada bu iki kelime arasında bir etiket kategori ya da başka türlü bir gruplama yapamazsınız. En anlamlı gruplama kullanıcı hareketlerinin analizi diye düşünüyorum. Haftalık olarak da 2'den az girilmiş ilişki kayıtlarını da sildirecek bir kod yazarak rastlantısal bağları silip, 5 den fazla girilmiş kayıtları da tesadüf olamaz diye eşleyerek taşırsak ilişki tablomuzu yönetebileceğimiz makul sınırlarda tutabiliriz.
  • 29-09-2015, 01:24:46
    #7
    site ile ilgili hiç bir fikrim olmadığı için net bir şey söylemek güç. maksat beyin cimnastiği sayfa yapınızı bilmiyorum referrer mantıksız bile olabilir. şu bildiğimiz sözlükler gibiyse sadece soldan seçiliyor olabilir. bir entry' okuduktan sonra arama da yapıyor olabilir. diğer mesaj atanların da dediği gibi genelde bir kritere göre gruplama yapılır fakat sözlük yapınızda bir kategori, tag vs yoksa ve gerçek yönlendirme istiyorsanız verileri saklamalısınız. ya da entry girme sayfasına bir tag input'u koyun bırakın yazarlarınız gruplasın

    sunucu yükü diye bir şey yoktur, az bütçe vardır diyerek yine latife ile kapanışı yapayım umarım en kolay ve verimli yoldan halledersiniz.
    kolaylıklar


    digiklan adlı üyeden alıntı: mesajı görüntüle
    Aslında benim düşündüğüm de buydu eksin anlattım sanırım. Satıra bir sayac sütunu koyup haftalık olarak 2'nin altındaki sayaçlı ilişki kayıtlarını rastlantısal görüp tamamen silip, sayacı 5 üzerinde olan kayıtları da muhtemel eşleşme olarak ilişki tablosundan silip kaydın kendi tablosunda alakalılar kolonuna taşımak gibi bir yok izlemeyi düşünüyorum.
    Eğer alakalılar kolonu boş değilse sistem hiç bir işlem yapmadan direk bunu basacak. Böylece sunucu yükü giderek hafifleyecek.

    Ama ben sizin düşündüğünüz referrer kaydı yerine ilk başta site içi arama kayıtlarını referans almayı planlıyorum. Çünkü ziyaretçilerin tüm hareketlerini loglamak anlık trafiğin yüksek olduğu anlarda büyük yük getirecektir.






    Gruplayacak sistemin gerçekten semantik bütünlük içerisinde olması çok önemli. Bu yeni ziyaretçilerin yenis ayfalara geçişini sağlayacak önemli bir konu. Mesela enflasyon ile ilgili yazdığınız bir yazıda stabil ekonomik veriler diye bir ibare geçiyor. Ve ziyaretçilerin %80'i bu kelimenin anlamını bilmeyerek bu kelimeyi aratıyor. Burada bu iki kelime arasında bir etiket kategori ya da başka türlü bir gruplama yapamazsınız. En anlamlı gruplama kullanıcı hareketlerinin analizi diye düşünüyorum. Haftalık olarak da 2'den az girilmiş ilişki kayıtlarını da sildirecek bir kod yazarak rastlantısal bağları silip, 5 den fazla girilmiş kayıtları da tesadüf olamaz diye eşleyerek taşırsak ilişki tablomuzu yönetebileceğimiz makul sınırlarda tutabiliriz.
  • 29-09-2015, 14:13:28
    #8
    Merhaba,

    Üyelerin okuduğu/ziyaret ettiği yazı/başlık listesini ayrı bir tabloda (tercihen MongoDB) tutmak mantıklı olabilir. Bu mantıkla konuyu okuyan üyelerin içerisinden rastgele veya okunma adedine göre bir sonuç alabilirsiniz. Diğer türlü sistemler sağlıklı sonuçlar vermeyebilir. En kötü rastgele çekersiniz, olur biter.
  • 27-10-2015, 14:45:20
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Şimdi bana, gezdiğim sitelerde, mesela bu kitabı araştıran bunu da araştırdı önerilerinin yanlış olduğunu mu söylüyorsunuz? Aman Allahım

    İyi çalışmalar