Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Haystack:从一个项目到另一个项目进行查询_Python_Django_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Django Haystack - Fatal编程技术网 elasticsearch,django-haystack,Python,Django,elasticsearch,Django Haystack" /> elasticsearch,django-haystack,Python,Django,elasticsearch,Django Haystack" />

Python Haystack:从一个项目到另一个项目进行查询

Python Haystack:从一个项目到另一个项目进行查询,python,django,elasticsearch,django-haystack,Python,Django,elasticsearch,Django Haystack,我在一些项目中使用Haystack 2.3.0,至少目前一切都如预期的那样 假设我有project1和project2: 有没有一种简单的方法可以在不向Haystack添加新数据库的情况下从project1查询到project2 是否可以修改SearchQuerySet URL或类似内容 我是否应该简单地使用urllib2并仅使用ElasticSearch进行查询? 如果我在project1中添加指向project2的HAYSTACK_连接,project1的查询将在project2索引上进行?

我在一些项目中使用Haystack 2.3.0,至少目前一切都如预期的那样

假设我有project1和project2:

有没有一种简单的方法可以在不向Haystack添加新数据库的情况下从project1查询到project2

是否可以修改SearchQuerySet URL或类似内容

我是否应该简单地使用urllib2并仅使用ElasticSearch进行查询? 如果我在project1中添加指向project2的HAYSTACK_连接,project1的查询将在project2索引上进行? project2 settings.py:

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'project2.search_backends.CustomElasticSearchEngine',
        'URL': '127.0.0.1:9200',
        'INDEX_NAME': 'haystack',
    },
}
HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'project1.search_backends.CustomElasticSearchEngine',
        'URL': '123.123.123.123:9200',
        'INDEX_NAME': 'haystack',
    },
}
假设project2的外部IP为123.123.123.123

如果我在project1 settings.py中添加:

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'project2.search_backends.CustomElasticSearchEngine',
        'URL': '127.0.0.1:9200',
        'INDEX_NAME': 'haystack',
    },
}
HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'project1.search_backends.CustomElasticSearchEngine',
        'URL': '123.123.123.123:9200',
        'INDEX_NAME': 'haystack',
    },
}
如果project2允许来自外部ip的查询,这是否可行??? 我对这种方法的担心是,当从project1查询时,我不想错误地修改project2的索引。

最终解决了将project2 url添加到project1 HAYSTACK\u连接的问题

让我们假设project2 url=123.123.123.123,我已将project1 settings.py配置为:

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'project1.search_backends.CustomElasticSearchEngine',
        'URL': '123.123.123.123:9200',
        'INDEX_NAME': 'haystack',
    },
}
这样,从project1生成的所有查询都将发送到project2中的Haystack/ElasticSearch