http://sphinxsearch.com/
sudo apt-get install sphinxsearch
/etc/sphinxsearch/sphinx.conf
sudo cp /etc/sphinxsearch/sphinx-min.conf.dist /etc/sphinxsearch/sphinx.conf
創建測試資料庫並導入測試數據
$ wget http://sphinxsearch.googlecode.com/svn/trunk/example.sql $ mysql -h localhost -uroot -p < example.sql $ mysql -h localhost -uroot -p CREATE USER 'test'@'localhost' IDENTIFIED BY ''; GRANT SELECT ON test.* TO 'test'@'localhost'; FLUSH PRIVILEGES; mysql> quit $ echo "select * from documents" | mysql -utest -p test Enter password: id group_id group_id2 date_added title content 1 1 5 2011-02-12 15:29:34 test one this is my test document number one. also checking search within phrases. 2 1 6 2011-02-12 15:29:34 test two this is my test document number two 3 2 7 2011-02-12 15:29:34 another doc this is another group 4 2 8 2011-02-12 15:29:34 doc number four this is to test groups
創建索引
sudo indexer <index>$ sudo indexer test1 Sphinx 0.9.8.1-release (r1533) Copyright (c) 2001-2008, Andrew Aksyonoff using config file '/etc/sphinxsearch/sphinx.conf'... indexing index 'test1'... collected 4 docs, 0.0 MB sorted 0.0 Mhits, 100.0% done total 4 docs, 193 bytes total 0.012 sec, 16531.05 bytes/sec, 342.61 docs/sec
$ sudo /etc/init.d/sphinxsearch start Starting sphinx: Sphinx 0.9.8.1-release (r1533) Copyright (c) 2001-2008, Andrew Aksyonoff using config file '/etc/sphinxsearch/sphinx.conf'... creating server socket on 0.0.0.0:3312 sphinx.
測試
search "keyword"
$ search test Sphinx 0.9.8.1-release (r1533) Copyright (c) 2001-2008, Andrew Aksyonoff using config file '/etc/sphinxsearch/sphinx.conf'... index 'test1': query 'test ': returned 3 matches of 3 total in 0.000 sec displaying matches: 1. document=1, weight=2, group_id=1, date_added=Sat Feb 12 15:29:34 2011 id=1 group_id=1 group_id2=5 date_added=2011-02-12 15:29:34 title=test one content=this is my test document number one. also checking search within phrases. 2. document=2, weight=2, group_id=1, date_added=Sat Feb 12 15:29:34 2011 id=2 group_id=1 group_id2=6 date_added=2011-02-12 15:29:34 title=test two content=this is my test document number two 3. document=4, weight=1, group_id=2, date_added=Sat Feb 12 15:29:34 2011 id=4 group_id=2 group_id2=8 date_added=2011-02-12 15:29:34 title=doc number four content=this is to test groups words: 1. 'test': 3 documents, 5 hits
wget http://sphinxsearch.googlecode.com/svn/trunk/api/sphinxapi.php wget http://sphinxsearch.googlecode.com/svn/trunk/api/test.php php test.php test