kodlama ilham gerekli - dize içinde bulunan anahtar kelimeler

1 Cevap php

Belirli bir sorun var ve çözümü hakkında gitmek için en iyi yolu bilmek gerekir.

Ben bir anahtar kelime sayısı (aslında etiketleri) içerebilir bir php dize var. Örneğin: -

"Seo, adwords, google"

veya

"Web geliştirme, topluluk oluşturma, web tasarım"

I want to create a pool of keywords that are related, so all seo, online marketing related keywords veyaall web development related keywords.

I want to check the keyword / tag string against these pools of keywords and if fveyaexample seo veyaadwords is contained within the keyword string it is matched against the keyword pool fveyaonline marketing and a particular piece of content is served.

I wish to know the best way of coding this. I'm guessing some kind of hash table veyaarray but not sure the best way to approach it.

Herhangi bir fikir?

Teşekkürler

Jonathan

1 Cevap

Ben daha fazla olabileceğini eminim rağmen üç yaklaşım, aklıma geliyor. Tabii ki herhangi bir durumda ben bir veritabanı tablosundaki değerler (veya yapılandırma dosyasını, ya da uygulamaya bağlı olursa olsun) depolamak böylece kolayca düzenlenebilir.

1) kolay: Form "| KEYWORD2 | keyword1 keyword3" düzenli ifadeye listesini dönüştürme ve giriş maçları görmek.

2) Orta: Bir Hashtable sözcükler ekleme sonra (Noktalama kaldırmak yerine normal ifadeyi kullanmak gerekebilir) kelimeleri içine girdi bölünmüş ve hashtable girişin her kelimeyi bulmaya çalışın.

3) Zor: Bu tam durumunuza bağlı çalışmaz, ama tüm olası içerik Apache SOLR gibi bir arama çözeltisi (endeksli olabilir eğer, örneğin), sonra anahtar kelime listenizi bir arama dizesi olarak kullanılabilir ve yapabildin alaka belirli bir seviyenin üzerinde sonuçlar döndürebilir.

Bu kaynak veri hakkında daha fazla bilmeden iyi işe yarayacağını tam olarak hangi çözüm bilmek zor. Anahtar kelimeler büyük bir kısmı düzenli ifade reçel kadar olabilir, ama kısa bir liste ise o zaman büyük iş olabilir. Lütfen giriş uzun iseniz her giriş kelime test etmek zorunda çünkü sonra # 2 çok iyi çalışmaz. Sizin kilometre değişebilir her zaman olduğu gibi, bu yüzden ben çalışmak ve performansı kabul edilebilir olup olmadığını görmek düşündüm kolay çözüm ile başlamak istiyorum.