Masih ada 2 file lagi hehe, selanjutnya kita akan membuat file search_helper.php. File ini sebenarnya opsional, tapi berguna untuk menghasilkan tampilan hasil pencarian agar mirip Google. Kalau kita mencari di Google kan hanya menampilkan beberapa kalimat saja dari situs yang ingin kita cari. Nah, di dalam search_helper.php ini terdapat fungsi tersebut. Saya memperolehnya dari internet, beberapa tahun yang lalu. Isi file search_helper.php kurang lebih seperti ini :
Jadi file tersebut hanya berisi fungsi PHP yang akan kita gunakan, sama seperti file sphinxapi.php di dalamnya juga hanya terdapat fungsi-fungsi yang nantinya digunakan untuk search engine.
Selanjutnya kita akan membuat file terakhir pada bagian ini yaitu hasil_pencarian.php. Nah, file ini yang sebenarnya akan mengatur tampilan untuk hasil pencarian kita. File ini akan menggunakan/memerlukan kedua file sebelumnya yaitu sphinxapi.php dan search_helper.php. Nanti akan terlihat di kode PHP-nya, isi dari file hasil_pencarian.php kurang lebih seperti ini :
Selanjutnya kita akan membuat file terakhir pada bagian ini yaitu hasil_pencarian.php. Nah, file ini yang sebenarnya akan mengatur tampilan untuk hasil pencarian kita. File ini akan menggunakan/memerlukan kedua file sebelumnya yaitu sphinxapi.php dan search_helper.php. Nanti akan terlihat di kode PHP-nya, isi dari file hasil_pencarian.php kurang lebih seperti ini :
Oh ya tolong perhatikan pada baris ke-89 seharusnya penutup tag <script> adalah </script> bukan </stript>. Saya sengaja melakukannya karena kalau saya tulis </script> dia akan memotong syntaxhighliter-nya (yang saya pakai untuk menampilkan kode ini), jadi kode-kode di bawahnya tidak bisa muncul. Mohon maaf sebelumnya karena udah diotak atik tetep ga bisa jadi ya digituin ja haha.
Sampai sini proses pembuatan halaman hasil pencarian telah selesai. Silakan diuji, apakah berhasil atau tidak? Kalau ada yang error kasih komentar yaa. Kalau sudah benar, kurang lebih tampilannya seperti ini :
Nah ini juga tampilannya sederhana, kalau mau diotak-atik lagi silakan. Kalau punya saya tampilannya seperti ini :
Sebenarnya masih ada Part 4 yaitu bagian terakhir untuk menampilkan detail hasil pencariannya. Misalnya, ingin lebih mengetahui Asam Jawa melalui link yang saya berikan pada setiap hasil pencarian. Sampai sini, kamu sudah berhasil membuat sebuah search engine, selamaattt. :)
Sampai sini proses pembuatan halaman hasil pencarian telah selesai. Silakan diuji, apakah berhasil atau tidak? Kalau ada yang error kasih komentar yaa. Kalau sudah benar, kurang lebih tampilannya seperti ini :
Nah ini juga tampilannya sederhana, kalau mau diotak-atik lagi silakan. Kalau punya saya tampilannya seperti ini :
Sebenarnya masih ada Part 4 yaitu bagian terakhir untuk menampilkan detail hasil pencariannya. Misalnya, ingin lebih mengetahui Asam Jawa melalui link yang saya berikan pada setiap hasil pencarian. Sampai sini, kamu sudah berhasil membuat sebuah search engine, selamaattt. :)
gan . . .
BalasHapusknapa ga jalan ya sphinx nya ??
apa karna pake win 7 64 bit ??
karna ga persis sama pas waktu seting sphinx nya . . .
Saya juga pakai win 7 64 bit gan, proses indexing yg agan tanya di Part 1 udah berhasil belum? kalau belum berhasil, ga akan bisa jalan gan Sphinx nya. :)
HapusMantap skli gan.tp klo bole nanya untuk pencarian dalam database (mis. mau nyari judul buku dalam tabel katalog buku gtu) gimana codingnya ya? maf newbie bangt neh.
BalasHapusMksh....
tinggal ganti fungsi source untuk Sphinx nya gan, yang file .conf.in itu, liat Part 1 lagi gan. Nih ane kasih contoh fungsi source kalau sumbernya dari DBMS, misal MySQL:
Hapussource mysql
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass =
sql_db = skripsi
sql_port = 3306
sql_query = \
SELECT id_news, docno, title, author, date_published, body, timestamp \
FROM news
}
Ok gan, langsung ke tkp.
Hapusmakasih ya sudah nanggapin.
sukses selalu buat anda.
Sudah saya coba gan tapi gagal diindeks.
Hapussource mysql
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass =
sql_db = dbjudul
sql_port = 3306
sql_query = \
SELECT npm, judul \
FROM tbljudul
}
# Fungsi indexing
index test1
{
source = mysql # Memilih fungsi korpus yang akan digunakan
path = C:/sphinx/data/test1
docinfo = extern
#charset_type = sbcs
charset_type = utf-8
min_word_len = 25 # Minimum panjang kata yang akan diindeks
enable_star = 0
html_strip = 0
stopwords = C:/sphinx/data/stopwords.txt # Daftar kata buang
min_stemming_len= 4 # Minimum panjang kata yang akan dipotong
}
index testrt
{
type = rt
rt_mem_limit = 32M
path = C:/sphinx/data/testrt
charset_type = utf-8
#rt_field = npm
rt_field = judul
rt_attr_uint = gid
}
indexer
{
mem_limit = 32M
}
searchd
{
listen = 9312
# listen = 9306:mysql41
log = C:/sphinx/log/searchd.log
query_log = C:/sphinx/log/query.log
read_timeout = 5
max_children = 30
pid_file = C:/sphinx/log/searchd.pid
max_matches = 1000
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads # for RT to work
binlog_path = C:/sphinx/data
}
kurang atau salahnya dimana ya?
Pesan error nya apa gan?
HapusCoba pas bagian fungsi 'searchd' tanda pagar di '#listen = 9306:mysql41' dihilangkan aja gan, jadi listen nya ada 2. (tanda # sebagai komentar)
gan sudah saya coba dan tampil pd page penelesuran, tapi pas dimasukin kata kunci kemudian di search, ga muncul data file nya kira2 kenapa ya gan mohon bantuannya ga :)
Hapusgan dharma, proses di Sphinx nya udah berhasil gan? atau ada error? atau ada yg belum dilakukan?
Hapusmau tanya, gmn kalau folder project kita sudah di taruh di server hostingan? apa bisa dijalankan sphinx nya?
BalasHapusTrus kalo kodingnya pake format JSON gimana caranya?
Kueri gagal : connection to localhost:9312 failed (errno=10061, msg=No connection could be made because the target machine actively refused it.).
BalasHapus