halo,


Ahmad Juniar wrote:
> Ada 2 Pilihan bagi saya:
> 1. Saya buat field ISI_BERITA dan di situ berisi isi berita sehingga field
> ini mempunyai isi text yang besar. KELEBIHANNYA kita bisa search database
> di field ISI_BERITA
> dengan perintah spt ini:
> 
> select * form berita where judul_berita = 'gus dur' AND isi_berita = 'gus dur'
                                                          ^^^^^^^^^^^^^^^^^^^^^^


maksudnya begini?

 isi_berita LIKE '%gus dur%'

ini akan lambat dan disk-intensive, karena database server akan 
melakukan full scanning pada isi field. kalau bisa sih isi berita
di*indeks*:

* kalo anda pake oracle, ada plugin (atau tambahan operator CONTAINS?
  sori kalo salah...) untuk full-text searching yang diindeks.
  *barangkali* SQL server juga bisa (sori lagi kalo salah...).

* kalo anda pake database server yang ngga mendukung, anda mesti
  melakukan indexing manual. ada bbrp modul perl yang bisa dicoba:
  DBIx::TextIndex atau DBIx::KwIndex. silakan cari di CPAN.



> 2. Sedang metode kedua saya buat field INDEX_BERITA hanya text file yang
> berisi nama file(html) dari isi berita tsb, sehingga untuk memanggilnya
> akan saya
> redirect ke file tsb(html). Tapi pada tipe ini isi berita tidak bisa dicari.


bisa, tapi ngga dengan sql, melainkan dengan tool text retrieval
lain (glimpse, lqtext, htdig, isearch, mg, dll).


> Kalau menurut rekan2 sendiri gimana sebaiknya membuat database besar yang
> menyimpan banyak berita seperti di portal ASTAGA, SATUNET, DETIK.com,
> Search engine ALTAVISTA, CATCHA sistem databasenya, sehingga mempunyai
> keuntungan disisi kecepatan load data, management data maupun searching
> berita yg tak hanya di index berita tapi juga sampai isi beritanya.


pengalaman kami mengerjakan database artikel di satunet:
* langkah terpenting adalah menyusun skema tabel yang tepat.
  jangan sampai terjadi banyak JOIN (terutama jika pakai mysql),
  usahakan field-field yang akan dipakai sebagai kriteria 
  pencarian diindeks semua.
* pelajari konfigurasi/optimasi/maintenance database server
  yang anda pakai.

menyimpan isi berita di database mysql sampai saat ini di 
tempat kami masih ok (+- 5000 artikel, ukuran semua tabel 
(termasuk indeks DBIx::KwIndex dan indeks2 tabel mysql sekitar 
100MB). hanya saja bbrp waktu yang lalu kami mengeluarkan 
sebagian (+- 8000) artikel lama untuk mengurangi beban server. 
saya berencana akan kembali memasukkan artikel ini ke database
setelah kondisi memungkinkan (perlu ada sedikit perbaikan
skema tabel).


-- 
regards,
[EMAIL PROTECTED]

--------------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]

Kirim email ke