6
我正在使用django-haystack在我的網站上進行搜索。 我的問題是,如果在特定字段中找到搜索詞,我希望搜索結果位於頂部。 比方說,我搜索博客條目,然後我想在標題字段中找到搜索詞的頂部顯示這些結果。Django乾草堆:如果searchterm出現在特定字段中,可提高搜索結果的效率
我閱讀關於野外推進的乾草堆文檔,但我不明白它應該如何工作。
我正在使用django-haystack在我的網站上進行搜索。 我的問題是,如果在特定字段中找到搜索詞,我希望搜索結果位於頂部。 比方說,我搜索博客條目,然後我想在標題字段中找到搜索詞的頂部顯示這些結果。Django乾草堆:如果searchterm出現在特定字段中,可提高搜索結果的效率
我閱讀關於野外推進的乾草堆文檔,但我不明白它應該如何工作。
您可以:
修改您的搜索索引文件例如
class BlogEntryIndex(SearchIndex):
text = CharField(document=True, use_template=True)
title = CharField(model_attr='title', boost=1.125)
注:由於在評論中指出的下方只會提振項標題不是字段,使用以上。
或者您可以將boost傳遞給您的SearchQuerySet,例如在您的乾草堆url文件中。
sqs = SearchQuerySet().boost('title', 1.125)
urlpatterns = patterns('haystack.views',
url(r'^$', SearchView(searchqueryset=sqs), name='haystack_search'),
)
再次感謝您的快速響應!我知道文檔中的這兩個變體,第一個變體看起來很有趣,但是我必須做些其他的事情才能使它工作嗎?我已經嘗試過了,但它似乎沒有任何改變......第二個變體對我沒有多大幫助,因爲它只是增加了搜索詞而不是字段,至少這就是我對它的理解。 – scherlock
您使用哪種搜索後端? – JamesO
我試過whoosh和solr – scherlock