[英]Serialize Haystack SearchQuerySet
我在延遲的文件中轉儲了一些Django查詢,因此我將參數sql_with_params
傳遞給以后在延遲的raw
查詢中執行。
我已經將所有查詢遷移到了haystack,所以我不會對SearchQuerySet
進行相同的SearchQuerySet
。
有什么方法可以獲取已經構造的SearchQuerySet的raw_query嗎?
PD:我正在使用ElasticSearch
當然,不幸的是,這是一種需要一些管道的方法。 您可以創建一個自定義搜索引擎,並將其查詢設置為繼承自ElasticsearchSearchQuery
自己的查詢定義:
from haystack.backends.elasticsearch_backend import ElasticsearchSearchEngine, ElasticsearchSearchQuery
class ExtendedElasticsearchSearchQuery(ElasticsearchSearchQuery):
def build_query(self):
raw_query = super(ExtendedElasticsearchSearchQuery, self).build_query()
# TODO: Do something with raw query
return raw_query
class ExtendedElasticsearchSearchEngine(ElasticsearchSearchEngine):
query = ExtendedElasticsearchSearchQuery
並從您的設置中引用:
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'myapp.mymodule.ExtendedElasticsearchSearchEngine',
'URL': 'http://localhost:9200/',
'INDEX_NAME': 'haystack'
},
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.