如何使用多个HAYSTACK_CONNECTIONS并使用drf-haystack管理命令在所有索引中获得结果?

时间:2017-06-28 13:54:29

标签: django elasticsearch drf-haystack

在rebuild_index manage命令期间,我一次只能使用一个连接。我同时需要这两个结果。

HAYSTACK_CONNECTIONS = {
'default': {
    'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
    'URL': 'http://127.0.0.1:9200/',
    'INDEX_NAME': 'haystack',
    'EXCLUDED_INDEXES': ['services.search_indexes.ViewServiceIndex'],
},
'default': {
    'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
    'URL': 'http://127.0.0.1:9200/',
    'INDEX_NAME': 'haystack',
},

1 个答案:

答案 0 :(得分:0)

from haystack.query import SearchQuerySet
# To use default connection
sqs = SearchQuerySet().using('default')
# To use new connection
sqs = SearchQuerySet().using('new')

正常的重建索引将起作用。使用不同连接的方法是:

  1. 列出项目

  2. 我已将两者都命名为默认值,将其中一个更改为不同的内容,说“新”。

  3. 还必须更改INDEX_NAME。
  4. 使用上述代码访问数据。