http://blog.163.com/yang_jianli/blog/static/1619900062010316504471/sql
要在同一機器上啓動多個sphinx搜索進程searchd,必須爲不一樣的進程指定不一樣的配 置文件(sphinx.conf ),其中搜索進程的端口號不能相同,即 listen = 0.0.0.0:3312 中的默認端口3312 必須更改成一個系統不在使用的端口。若是要指定不一樣的數據庫,必須更改:數據庫
sql_db = dbnameblog
sql_host = 192.168.1.100索引
sql_pass = username進程
sql_user =passwordtest
sql_port = 3306配置
配置文件中的index名稱也不能相同,另外,不一樣配置文件的生成的索引文件不能放在同一個目錄,不然搜索時會對整個文件夾下的索引文件進行搜索,可是不一樣索引文件對應不一樣的數據庫,這樣取數據時會出現問題。搜索
假 設有兩個配置文件:sphinx1.conf和sphinx2.conf分別位於兩個sphinx數據目錄:/home/testuser /sphinx1和/home/testuser/sphinx2中 ,sphinx安裝路徑爲/usr/local/sphinx/,那麼啓動方法以下:方法
/usr/local/sphinx/bin/searchd --config /home/testuser/sphinx1/sphinx1.conf配置文件
/usr/local/sphinx/bin/searchd --config /home/testuser/sphinx2/sphinx2.conf
一樣,生成索引的方法以下:
/usr/local/sphinx/bin/indexer -- config /home/testuser/sphinx1/sphinx1.conf indexname --rotate
/usr/local/sphinx/bin/indexer -- config /home/testuser/sphinx2/sphinx2.conf indexname --rotate
加參數—rotate是爲了在更新索引文件後,無須從新啓動searchd進程而能夠搜索到更新index後的內容。