gpt4 book ai didi

python - 是否可以使用实时信号自动更新干草堆弹性中的多个索引

转载 作者:行者123 更新时间:2023-12-03 01:57:05 25 4
gpt4 key购买 nike

我在使用干草堆的 flex 中有多个索引,我正在尝试使用RealtimeSignalProcessor自动更新索引。 Haystack支持吗?

这是我关注的link
同一件事对于单个索引非常有效。

我怀疑设置中的Haystack_connection有问题。请提出正确的语法。

我不需要编写任何自定义SignalProcessor。有没有办法使用现成的Haystack Realtime-RealtimeSignalProcessor
我提到了this 问题,但没有帮助。

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

},
'Hello':
{
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'helloindex',
'INCLUDE_SPELLING': True,
},
'Note':
{
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'noteindex',
'INCLUDE_SPELLING': True,
},
}

谢谢。

最佳答案

Yes its possible

我能够通过使用Django-Haystack的路由器解决此问题

在settings.py我做到了

HAYSTACK_CONNECTIONS = {
'My_Testing':
{
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'my_testing',
'INCLUDE_SPELLING': True,
'EXCLUDED_INDEXES': ['talks.search_indexes.NoteIndex'],

},
'Note':
{
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'note',
'INCLUDE_SPELLING': True,
'EXCLUDED_INDEXES': ['talks.search_indexes.My_TestingIndex'],

},
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'haystack',
# 'INCLUDE_SPELLING': True,

},
}

HAYSTACK_ROUTERS = ['talks.routers.My_TestingRouter',
'talks.routers.NoteRouter']

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'

并在与search_indexes.py处于同一级别的routers.py文件中添加此文件
    from haystack import routers


class My_TestingRouter(routers.BaseRouter):
def for_write(self, **hints):
return 'My_Testing'

def for_read(self, **hints):
return 'My_Testing'


class NoteRouter(routers.BaseRouter):
def for_write(self, **hints):
return 'Note'

def for_read(self, **hints):
return 'Note'

希望有一天能对您有所帮助。

和平。

关于python - 是否可以使用实时信号自动更新干草堆弹性中的多个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35781839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com