php kullanarak mysql dinamik anahtar kelimeleri oluşturmak

1 Cevap php

Benim yapısı: Her kategoride metinler vardır. Bu metinler kendi girişleri vardır. Yani, tablo 'kategori' ve tablo 'metinler'. Her kategoride yaklaşık 90 metinler vardır, her bir metin yaklaşık 300 karakterdir.

Ne yapmak istediğim kategoriler için meta etiketleri (anahtar kelimeler) yapmaktır. Nasıl> ilgili tüm metinlerini 'almak ve tüm sözcükleri rütbe ve ilk 10 kelime almak. Bu ilk 10 kategorinin anahtar kelime meta etiketi olacaktır.

Şimdi .. hile> bu ilk 10 kelime almak için nasıl. Şu anda> Ben her metin (tam metin) başına bir kelime dizi bölünecektir ki var. (Php) Bu dizi oldukça uzun olacaktır. Sonra, ben her kelimenin sıklığı almak ve frekansta tekrar rütbe. Voila 10 kelime top.

Ben bu prosedürü test değil ama biraz zaman alabilir sanırım. O yüzden sadece bir kez, her hafta ya da öylesine çalıştırmak zorunda olacak, ama yine de, ben bir zaman aşımı almak istemez önbelleğe edilecektir.

Siz herhangi bir ipucu var mı? Herhangi bir yardım takdir.

Teşekkürler,

Maurice

1 Cevap

Tamam, şimdi ben yukarıdaki yorumun benim barış söylediğim, ben senin algoritması için alırsınız.

Bunu yapmanın birkaç yolu vardır, ben bir PHP-ağır yaklaşıma odaklanmak ve diğer Soers diğer bazı olanları yapalım edeceğiz.

Ben zaten değişken $ metinlerin içine boşlukla ayrılmış bir liste olarak tüm kelimeleri veritabanını sorgulanan ve sakladığınız kabul edeceğim

// Sample data in $texts
$texts      = "orange orange apple apple apple banana";
$withCounts = array_count_values( explode( ' ', $texts ) );

asort( $withCounts );
$topTen = array_keys( array_reverse( array_slice( $withCounts, -10 ) ) );

print_r( $topTen );