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