Nasıl benim PHP / MySQL web üzerinde arama oturum istiyorsunuz?

2 Cevap php

Birisi bir hızlı arama özelliğini kullanarak benim web sitesini arar benim veritabanına bu oturum açmak istiyorsunuz

  1. Açıkçası benim kullanıcıları arıyor ne görmek istiyorum
  2. Ben bu aramalarda dayalı bir 'etiket bulutu' yaratabilirsiniz

id ve bu bilgileri günlüğe en iyi yöntem ise terms, ben merak ediyorum: Ben iki alan şu anda searchterms bir tablo var. Terms, ancak biraz gereksiz hale gelmektedir.

İlgili komut herhangi bir ipucu veya bağlantıları?

Teşekkürler çocuklar

2 Cevap

Ben denemedim ama google analytics, kullanıcıların arama kutusuna girmek ne izlemek için seçenek sunar. Görüntülemek için geliştirici API var.

Bu uyarı, tüm javascript olurdu. Avantajı sunucu üzerindeki yükü azaltmak olduğunu ifade etti.

Belki arıyor ama kayda değer değil ne.

ne bu şartlar aranır edildiğinde depolamak ve başka bir tablo (tüm küçük, hiçbir aksan, ... gibi, belki bazı "normalleştirilmiş" bir şekilde) terimleri depolamak için bir tablo hakkında?

Normalization thing is to avoid "Word" and "word" being seen as two different terms in your could ; same for "éléphant" and "elephant", btw.

terms
  - id
  - word

terms_searched
  #id _term
  - time_search

Gibi, sonra, son bilerek şartlar aranır, ya da en aranan terimleri, basit bir SQL sorgusu sadece bir konudur

select id, term, count(*)
from terms
    inner join terms_searched on terms_searched.id_term = terms.id

Belki belirtmek için bir yere yan tümcesi ile sadece son aramalar dikkate alınması istiyorsun?

Lütfen tablolar çok büyük olur ve sorguda katılmak performansları zarar başlar Ve eğer, bir terim için aranmış kaç kez özetliyor, terimler tablosundaki "num_times_searched" koyarak, denormalizasyon tasavvur edebilir