2011-04-18 186 views
2

我想知道是否有人對類似於mnogosearch的Python全文搜索引擎有任何建議。我試圖讓它像Mnogosearch一樣運行,但不知道如何與其他選項相比(如果有更好的選擇)。Python網站完整網站搜索

例如,Haystack好像在爲給定的Django模型字段建立索引方面做得很好,但我不確定它是否可以搜索整個網站的內容。

Solr/Lucine看起來很有希望,但我不太熟悉它。飛快似乎也可能是一個有趣的選擇,但我想知道如果Python的實施會讓它變慢?

我很新的搜索,所以我試圖圍繞不同的選項包圍我的頭。有沒有人有任何好的意見,哪些搜索技術適用於索引整個網站?

感謝您的閱讀。任何意見都非常感謝。

+2

你真的需要多少個好的替代品? Solr與Solrpy Python綁定在一起非常好。 – 2011-04-18 15:30:18

+0

感謝RestRisiko - 這個sorlpy選項很好理解。 – 2011-04-18 17:21:50

+0

[PyLucene] http://lucene.apache.org/pylucene/ – Joyce 2011-04-18 18:45:12

回答

2

恕我直言,Solr的可能是最好的選擇,性能,明智和功能方面,它是基於大量的測試技術。如果你正在尋找一個純粹的Python解決方案,那麼Whoosh看起來不錯 - 我沒有在生產中使用它,只是檢查了它並查看了代碼。它可能會比較慢,但我懷疑它對於搜索功能上流量較輕的網站顯而易見。一個不錯的特性是擁有一個可以考慮網站結構(如標題/標題/正文/頁腳等)的BM25F實現,並且被認爲是通用Web搜索模型的最新技術。

如果您使用的是Django,據我所知Haystack會讓您更改搜索引擎後端,就像您可以更改RDBMS後端一樣。

我不確定您的意思是「整個網站內容」。如果您網站的大部分網頁內容不是從模型內容生成的,那麼使用集成搜索索引可能不是最佳選擇,可能類似IndexTank或Google網站搜索。但在相反的情況下,如果您對搜索技術不熟悉,我會推薦乾草堆,因爲它可以讓您的生活更加輕鬆。

+0

謝謝瓦西爾 - 你的文章已經幫了我一些方面。很高興知道Solr看起來非常穩定和標準。抱歉對'整個網站內容'含糊不清。我正在尋找一些能夠抓取頁面並將其整合到Google Site Search或IndexTank等網站中的內容。 Mnogosearch是一個基於PHP的本地解決方案,我想知道是否存在類似於Solr/Lucine,Whoosh或Xapian等常用工具的功能,因爲我不確定Mnogosearch有多大的動力。 – 2011-04-18 20:52:48

+1

@Joe J apache nutch與solr集成,可以抓取網站。雖然它可能是矯枉過正,但仍然是一個高質量的解決方案。 http://wiki.apache.org/nutch/NutchTutorial – Vasil 2011-04-18 20:58:45