Minulý rok som na jednom mojom webe riešil problém, ako pre daný článok nájsť najviac súvisiace články. Výhody sú myslím jasné, niekto si prečíta článok a hneď pod ním nájde ostatné články (ak sa nejaké nájdu), ktoré s ním súvisia. Viac o tom ako som to vyriešil sa dočítate vo vnútri článku.
Ako hľadať súvisiace články ?
Toto je najdôležitejšia otázka, ktorú si treba položiť. Mňa osobne napadlo viacej spôsobov.
Ako prvé ma napadlo, aby sa súvisiace články vyhľadávali bez akéhokoľvek môjho zásahu. Napríklad by sa porovnávali nadpisy článkov na rovnaké slová. Avšak tento spôsob by nezaručoval dobrú relevantnosť článkov. Ďaľšia možnosť by bola prehľadávať komplet obsah článkov, ale toto riešenie by stále nezaistilo dobrú relevanciu a bolo by náročné na implementáciu.
Potom ma napadlo, ku každému článku priradiť určité kľúčové slová a pri hľadaní súvisiacich článkov hľadať tieto slová v nadpise a obsahu ďalších článkov. Toto riešenie nebolo ťažké implementovať, zaručovalo celkom uspokojivú relevantnosť, ale bolo to ako škrabanie sa za uchom opačnou rukou ;).
Na záver som si uvedomil, že keď pridám ku každému článku kľúčové slová, že tie ho aj najlepšie popisujú a tak som začal hľadať články, ktoré majú majú najviac spoločných kľúčových slov, čo mi zaručilo veľmi vysoku relevantosť nájdených článkov.
Za každé rovnaké kľúčové slovo, získava súvisiaci článok jeden bod. Nakoniec sa všetky súvisiace články zoradia podľa počtu bodov a dátumu.
Konkrétnu implementáciu v PHP sem dávať nebudem, keďže na danom webe používam PHP framework Qcodo a dané riešenie by vám aj tak nič nehovorilo pokiaľ Qcodo nepoužívate, avšak v niektorom z nasledujúcich článkov vám ukážem ako jednoducho túto funkcionalitu pridať do CMS WordPress.
Pridaj komentár