2010-07-01 90 views
1

我是Haystack和搜索世界的新手,所以我不知道如何提出這個問題。Django + Haystack如何做這個搜索

我想達到的是以下幾點。

具有搜索查詢,如:一二

我想獲得返回的任何內容,如:

  • 這一個
  • 一個
  • 兩個一
  • 東西在這裏

Haystack + solr/xapian可能嗎? 也可能與結果有關嗎?在兩個單詞都被擊中的情況下,這會給我更多的關聯。

我目前在我的視圖中使用SearchQuerySet,但無法做到這一點。

乾杯

回答

1

所以你基本上是尋找一個OR類型的查詢嗎?默認情況下,乾草堆使用AND操作來加入查詢。

你可以這樣做兩種方式:

  • 變化HAYSTACK_DEFAULT_OPERATOR您的settings.py中是OR。這顯然是整個網站的變化。
  • 修改您的SearchQuerySet表格以使用filter_or,這將強制OR樣式查找。因此,通過一個新的到表單/視圖:SearchQuerySet.filter_or(**kwargs)

除此之外,你可以隨時加入Django的Q對象在一起,但是考慮到你有這些選項,這些可能是你最好的選擇。

對於相關性,您應該閱讀Best Practices頁面,該頁面將使用搜索模板並使其成爲顯示相關內容的方式。

希望有幫助!

相關問題