2011-09-03 84 views
0

我使用solr作爲搜索後端與django乾草堆。查看日誌時,我可以看到對solr的查詢正在填充「fq」。Django haystack fq(solr)如何填充

INFO: [] webapp=/solr path=/select/ params={fl=*+score&start=0&q=yyy&wt=json&fq=django_ab:(xxx)&rows=10} hits=5 status=0 QTime=0

我的疑問是如何如何 「FQ」 參數i的草垛填充。我正在使用SearchQuerySet.filter在solr文檔中添加搜索。 我注意到的另一件事是不管搜索查詢是什麼fq保持不變。 fq與其模型索引的django應用程序相關嗎?我應該擔心它會不斷變化。

回答

1

草垛本身使用fq參數只返回有命中某個Django ContentType(實際上是某個Model類)。

關於Solr的fq:在查詢

此參數允許多次。高速緩存特定fq參數的結果子集。因此,將fq用於經常檢索的子集(例如類別搜索,用於網站菜單中的子集)是有意義的。

要使用通過大海撈針fq參數,對SearchQuerySet使用narrow()

http://django-haystack.readthedocs.org/en/latest/searchqueryset_api.html?highlight=narrow#SearchQuerySet.narrow