2012-02-02 20 views
3

我想用可配置的運算符和實體爲我的網站構建一個gmail樣式的搜索應用程序。例如,gmail允許您鍵入:然後通過from屬性搜索您的電子郵件記錄。我想要做同樣的事情,但是用例如門票里程碑或產品說明等。如何在django中構建gmail樣式搜索?

有關如何開始的任何建議?我應該嘗試利用像django-haystack這樣的現有項目嗎?或者我應該嘗試使用更基本的Django功能來滾動我自己的嗎?

+0

http://stackoverflow.com/a/6005569/272861 – Mikos 2012-02-03 07:06:59

+0

你介意詳細說明該鏈接如何與我的問題,特別是?謝謝。 – 2012-02-03 08:07:34

+0

你可能更喜歡看像Apache Solr這樣的搜索服務器http://lucene.apache.org/solr/ - 它提供了很多你需要的功能集,並且可以很好地擴展。 – Mikos 2012-02-03 08:21:03

回答

1

這在乾草堆中實現起來相當容易 - SearchQuerySets的過濾方法與django的查詢集非常相似,您可以用它來過濾自定義參數。看看searchqueryset docs瞭解更多。

要真正構建應用程序,我需要編寫一個自定義的SearchForm,它將解析參數:值部分從查詢值中取出,使用它們過濾或搜索相關屬性,然後使用任何剩餘關鍵字按正常的過濾searchqueryset(使用SearchQuerySet.auto_query)

+0

有關運算符和結果自動完成的任何建議,如「from:someemail」? – 2012-02-11 18:33:48

+0

我從來沒有做過部分字符串自動完成,但我發現jquery-ui真的很好,看起來你可以使用它。有關示例,請參閱http://jqueryui.com/demos/autocomplete/#multiple。 – Greg 2012-02-13 20:33:43