2017-07-27 39 views
0

我正在創建一個擁有數百萬數據的Django應用程序。因此,爲了獲得更好的結果,我試圖使用Elasticsearch來存儲數據。我也嘗試使用Haystack進行搜索。但目前我陷入了通過Haystack將Django應用程序與Elasticsearch連接的過程。使用Haystak將Django應用程序與Elasticsearch連接

我的數據庫配置:

'default': { 
     'ENGINE': 'django_elasticsearch', 
     'NAME': 'test', 
     'USER': '', 
     'PASSWORD': '', 
     'HOST': 'localhost', 
     'PORT': '9200', 
     'SUPPORTS_TRANSACTIONS': False, 
    }, 

在settings.py文件我已經安裝了乾草堆和elasticsearch應用。 此外,我已根據settings.py中的文檔複製Haystack設置。

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor' 

HAYSTACK_CONNECTIONS = { 
    'default': { 
     'ENGINE': 'haystack.backends.elasticsearch2_backend.Elasticsearch2SearchEngine', 
     'URL': 'http://127.0.0.1:9200/', 
     'INDEX_NAME': 'haystack', 
    }, 
} 

的elasticsearch完美運行

{ 
    "name" : "TN1nVS-", 
    "cluster_name" : "elasticsearch_manishojha", 
    "cluster_uuid" : "zZQxFpkCT8qUO_GVVQAmHA", 
    "version" : { 
    "number" : "5.5.1", 
    "build_hash" : "19c13d0", 
    "build_date" : "2017-07-18T20:44:24.823Z", 
    "build_snapshot" : false, 
    "lucene_version" : "6.6.0" 
    }, 
    "tagline" : "You Know, for Search" 
} 

現在所需要的所有的應用和elasticsearch之間的連接。

回答

0

Haystack does not support尚Elasticsearch v5.5.1。 您必須回滾到Elasticsearch v2.4.1,並通過pip(或任何軟件包管理器)添加軟件包elasticsearch2-haystack,以便將Elasticsearch v2x引擎移植到乾草堆上。之後,該設置將

HAYSTACK_CONNECTIONS = { 
'default': { 
    'ENGINE': 'elasticsearch2_backend.ElasticsearchSearchEngine', 
    'URL': 'http://127.0.0.1:9200/', 
    'INDEX_NAME': 'haystack', 
}, 

}

我希望這會幫助你。

相關問題