2013-02-20 118 views
0

我正在構建一個全文搜索引擎,它返回短語的結果。 (a)我試圖僅使用SPHINX中的SPH_MATCH_PHRASE使用PHP匹配短語。問題是,當我搜索時,例如「這是一個短語」,它也產生了「這是一個短語」和「一個短語」和「這是一個」和「這是」和「短語」等相關結果。是否有辦法將結果限制爲僅完整的短語?僅SPHINX匹配短語和PHP中的SPHINX自動索引

我試過的東西:我搜索了S/O並找到了How to query Sphinx for an exact matching phrase?,建議將搜索查詢放在引號中。我試了一下,但是當追加到搜索項時,這返回了零搜索結果。 (b)這是我第一次使用SPHINX,並且我幾乎沒有Linux的經驗,但我設法在Linux VPS上運行它。我開始索引器服務,但我不知道如何使它自動間隔地重新索引。這是SPHINX配置還是Linux命令?

我試過了:我搜索了上面(b)的S/O,發現這個,但是對於Ruby on Rails thinking sphinx automatic indexing,所以它沒有幫助我。

感謝

回答

1

這表明將搜索查詢加引號。

是的。這適用於擴展匹配模式。 SPH_MATCH_EXTENDED

在php中確保您正確使用$ cl-> setMatchMode()。

我不知道如何讓它重新索引所有自動間隔。

Cron。您可以設置一個crontab作業,以適合您情況的間隔調用索引器程序。

+0

謝謝巴里。但問題是我們不想讓用戶不得不在他們的查詢中插入引號。我嘗試在代碼中添加引號,然後使用了SPH_MATCH_EXTENDED,但我沒有找到任何結果。我會再試一次。 至於Crontab作業,我在Linux提示符下配置了索引器,因此我不知道如何在Linux提示符下執行CRON ...但是從您的更多提示中,我可能會很幸運。 – Cogicero 2013-02-20 14:36:31

+0

如果不想自己做,那麼使用SPH_MATCH_PHRASE,但是插入引號是所有的獅身人面像在使用SPH_MATCH_PHRASE時會做的。在EXTENDED模式下,所有內容都被抽離出來:) – barryhunter 2013-02-20 14:45:30

+0

http://google.com/search?q=cron+indexer+sphinx – barryhunter 2013-02-20 14:46:54

0

Baryhunter在上面接受的答案中的許多鏈接和提示證明是有用的。這爲我做了索引部分,以防萬一以後有人需要。

/usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf && /usr/local/sphinx/bin/searchd --rotate --config /usr/local/sphinx/etc/sphinx.conf 
+1

這也是錯誤的。 - 旋轉開關繼續分度器。不需要調用searchd所有'/ usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx.conf --rotate index_names_here' – barryhunter 2013-02-20 17:13:19

+0

哦哇* _ *嘆息不夠清晰的文檔。再次感謝巴里。 – Cogicero 2013-02-20 18:44:16