2011-05-15 125 views
2

我有一個搜索引擎,我運行獅身人面像,現在我用獅身人面像運行我的vbulletin論壇。唯一的問題是獅身人面像只允許你使用一個配置文件「sphinx.conf」,我現在有2個,並且必須使用2.所以現在我有sphinx.conf和sphinx-vb.conf。我如何運行searchd的第二個實例,以便使用sphinx-vb.conf文件?我需要2次運行的原因是我對索引有不同的需求,並且有cron作業,什麼不是,它會使事情變得更容易。我已經看遍了谷歌,無法弄清楚如何運行另一個獅身人面像的實例。我知道我需要在另一個端口上運行,所以我的第二端口會比原來的9313更高。有誰知道如何做到這一點?謝謝。如何運行sphinx的多個實例?

我試圖運行這個 須藤的/ usr/local/bin目錄/的searchd --config /usr/local/etc/sphinx-vb.conf

,並得到這個錯誤 FATAL:未能鎖定pid文件'/usr/local/var/log/searchd.pid':資源暫時不可用(searchd已經在運行?)

但當然它正在運行。它正在運行搜索引擎。

+0

我想我想通了。這似乎是什麼在爲我工作,以防其他人看到這一點,並希望做同樣的事情。創建一個新的目錄並在該目錄下創建一個新的searchd.pid。只需創建一個名爲searchd.pid的空白文件,並使用您的配置腳本指向它,然後運行sphinx。我不知道這是我應該怎麼做,但它似乎以這種方式工作。我仍然接受任何建議。謝謝。 – chris 2011-05-15 01:15:32

+0

克里斯我也有同樣的問題,你重複整個獅身人面像目錄? – 2015-07-31 21:40:59

回答

3

克里斯,你已經注意到你的問題和你的評論 - 你需要爲每個searchd進程使用不同的端口,不同的pid文件。不同的日誌文件可能是一個好主意太:)

2

唯一的問題是獅身人面像只允許你使用一個配置文件「的sphinx.conf」

沒有,你可以使用他們多,你需要。

如何運行searchd的第二個實例以便使用sphinx-vb.conf文件?我需要2次運行的原因是我對索引有不同的需求,並且有cron作業,什麼不是,它會使事情變得更容易。

不確定您是否需要另一個實例來滿足您的需求。我的意思是運行sphinx-vb.conf文件。正如替代了不同的實例,你可以在獅身人面像,vb.conf文件中創建不同的來源和運行都CONFIGS索引中包含相同的實例:

1 * * * * indexer --config /etc/sphinxsearch/sphinx.conf --all --rotate 
* 2 * * * indexer --config /etc/sphinxsearch/sphinx-vb.conf --all --rotate 

然後用相同的同一端口上運行它連接,但進行查詢爲不同的來源。例如,使用sphinxapi.php

$sphinx->SetServer("localhost", 9312); 
$result1 = $sphinx->Query('','firstSource'); 
... 
$result1 = $sphinx->Query('','sourceVb'); 
+0

但是如何處理mysql實例?目前我的兩個單獨的sphnx實例是衝突的,因爲它們正在寫入相同的數據庫! (索引名稱相同) – 2016-11-30 23:55:55

+0

您可以在配置文件中設置的索引名稱 – DoanldF 2016-12-01 11:44:28

+0

我的意思是您可以在_sphinx.conf_中使用**索引my_first_sphinx_index **並在_sphinx1.conf_中使用索引my_first_sphinx_index1 **,但在這種情況下,我建議在另一個端口上運行另一個sphinx實例_sphinx1。conf_ – DoanldF 2016-12-01 11:47:04