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

标签 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',
},

最佳答案

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

正常的重建索引将起作用。使用不同连接的方法是:
  • 列表项
  • 我已经将它们都命名为default,将其中之一更改为其他名称,例如“new”。
  • INDEX_NAME也必须更改。
  • 使用上面的代码访问数据。
  • 关于django - 如何使用drf-haystack管理命令使用多个HAYSTACK_CONNECTIONS并在所有索引中获得结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44804535/

    相关文章:

    python - 为什么 Django 只提供包含空格的文件?

    elasticsearch - Elasticsearch 7无法创建索引

    ruby-on-rails - RoR,Tire和Elasticsearch

    elasticsearch - 字词查询未给出正确的结果

    python - RequestError:TransportError(400,u'parsing_exception')Django干草堆

    python - Django 使用 include() 作为 path() 参数

    python - 使用 Django 单元测试的数据库权限

    django 从查询集中创建日期列表