Django-update_index同时更新测试和生产站点

时间:2018-11-13 22:58:44

标签: django elasticsearch django-haystack

这是我无法弄清的怪胎。

我有两个数据库-测试和生产。

我有两个网站-测试和生产。

Django正在使用Elasticsearch进行索引。

它们正在不同的服务器上运行,具有不同的IP地址等。

两个数据库之间根本没有链接。它们是独立维护的。

但是,当我在生产或测试站点上运行update_indexrebuild_index时,两个站点上的索引都在更新。这两个数据库仍然保持独立,并且那里的数据根本没有转移。

无论是在测试中还是在生产中运行命令都没关系-两者都会从任一来源更新。

这显然给我带来了许多问题,我一生无法解决。

测试数据库和HAYSTACK连接-

DATABASES = {
    "default": {
        # Ends with "postgresql_psycopg2", "mysql", "sqlite3" or "oracle".
        "ENGINE": "django.db.backends.oracle",
        # DB name or path to database file if using sqlite3.
        "NAME": "--",
        # Not used with sqlite3.
        "USER": "--",
        # Not used with sqlite3.
        "PASSWORD": "--",
        # Set to empty string for localhost. Not used with sqlite3.
        "HOST": <test-database>,
        # Set to empty string for default. Not used with sqlite3.
        "PORT": "--",
    }
}

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

生产数据库和HAYSTACK连接

DATABASES = {
    "default": {
        # Ends with "postgresql_psycopg2", "mysql", "sqlite3" or "oracle".
        "ENGINE": "django.db.backends.oracle",
        # DB name or path to database file if using sqlite3.
        "NAME": "--",
        # Not used with sqlite3.
        "USER": "--",
        # Not used with sqlite3.
        "PASSWORD": "--",
        # Set to empty string for localhost. Not used with sqlite3.
        "HOST": "<production-database>",
        # Set to empty string for default. Not used with sqlite3.
        "PORT": "--",
    }
}
HAYSTACK_CONNECTIONS = {
  'default': {
  'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
  'URL': 'http://127.0.0.1:9200/',
  'INDEX_NAME': 'products_index',
  },
}

我一直在扯头发,似乎无法发现两者之间如何交流和更新!有人可以帮我吗?

0 个答案:

没有答案