Showing posts with label sphinx. Show all posts
Showing posts with label sphinx. Show all posts

Sunday, February 5, 2012

Query Clause "OR", "AND" in Sphinx Search Engine

Hello,

sometimes we want to sphinx to search in specific index like address and state, but sometimes we want to make it's like mysql query who support "or", "and" clause.

it's many ways to do that, but i wanna share simple one (for me it's simple one :D)

hmm.. i use sphinx 1.10. and without bullshit it's the sample code you can use for "or", "and" cluase:


$results = $sc->Query('@title  javascript & @city newyork | @country "united state");

just like that, it's simple right :D just use " | " for "or" and "&" for "and".

$sc in there is variable you use for define sphinx api in your code..

hope it's usefull for you :D


       

Wednesday, October 12, 2011

RT (Real Time) index pada Sphinx

meneruskan posting saya disini

Beberapa hari ini saya mencari cari cara membuat realtime index menggunakan spihinx
setelah muter muter di forum forum dan dengan bantuan mbah google saya mendapatkan beberapa pencerahan

  1. sphinx mendukung realtime index sejak versi 1.10 versi 0.9x tidak mendukungnya
  2. ada beberapa cara melakukan realtime index, 1 menggunakan main:delta index dan yang kedua menggunakan type RT pada indexer di sphinx config.
saya menggunakan cara yang kedua karena main: delta index menurut saya bukan RT yang benar benar RT, maksudnya adalah kita membuat 2 buah index untuk menyimpan hasil indexing sphinx kita, yang pertma menggunakan main: dan updatenya disimpan di delta dahulu, namun ada waktu berkala untuk mengupdate indexing kita(Maaf jika pemahaman saya sedikit salah :D namun sepengetahuna saya itu yang dilakukan sphinx).
namun jika kita menggunakan RT, maka input baru yang kita masukkan dapat langsung dicari menggunakan sphinx search
mungkin langsung saja langkah;langkah membuat RT index di sphinx

  • tambahkan di dalam sphinx.conf anda seperti ini

index testrt{
type = rt
path = c:/sphinx/data/testrt
charset_type = utf-8
rt_mem_limit = 512M
rt_field = nama
rt_field = alamat
rt_field = kota
rt_field = telp
rt_attr_string = nama
rt_attr_string = alamat
rt_attr_string = kota
rt_attr_string = telp
}

maksudnya adalah kita membuat index testrt dengan tipe rt(realtime), hanya tambahkan saja, karena realtime index tidak memerlukan source untuk mengindex.


  • lalu dibagian searchd didalam sphinx.conf tambahkan

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 = 0
unlink_old = 1
workers = threads}


yang saya bold adalah yang terpenting dalam bagian searchd, jadi maksudnya searchd akan listening port 9306 di localhost kita untuk melakukan indexing ke dalam index testrt kita dah workers adalah parameter yang dibutuhkan untuk melakukan RT index

lalu jalankan service sphinx yang sudah ada

setelah itu buka mysql di command prompt lalu ketiikan


jika berhasil maka data jhon akan masuk ke dalam hasil indexing kita, 

UPDATE


untuk mencoba di php kita dapat membuat script php untuk insert mysql sederhana contohnya seperti ini

       $con = mysql_connect("127.0.0.1:9306");
        if (!$con)
        {
            die('Could not connect: ' . mysql_error());
        }

mysql_query("INSERT INTO testrt(id,nama,alamat,kota,telp) VALUES (1001,'lala','jalan jalan','jogjakarta','98989878');


penjelasannya seperti ini:
  •  $con = mysql_connect("127.0.0.1:9306"); adalah kita mecoba koneksi ke mysql dengan port 9306 dimana port tersebut juga digunakan oleh sphinx untuk melakukan realtime indexing.
  • lalu lakukan insert atau update dengan query mysql, namun tablenya adalah nama index dalam config sphinx kita      

Thursday, February 24, 2011

SphinxSearch dengan XmlPipe2

hmm dalam beberapa hari ini ada tugas information retrieval (IR), harus membuat program sphinx dengan korpus /data xml. setelah beberapa hari akhirnya saya dan dealopa berhasil :D. ini adalah cara cara dalam membuat sphinxsearch dengan data xml.