0
Django Haystack을 사용하고 있습니다. 다음은 내 코드입니다 :Django Haystack에서 준비한 필드 검색 인덱스
settings.py
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'haystack',
},
}
HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'
search_indexes.py 당신은 내가 RealtimeSignalProcessor이 포스트 인스턴스 생성 또는 업데이트에 대한 인덱스를 만들기 위해 사용시피
class PostIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
owner = indexes.CharField(model_attr='owner')
image_url = indexes.CharField()
def get_model(self):
return Post
def prepare_image_url(self, obj):
# Get first images for resulted search objects
return [image.image_main_page.url for image in obj.images.order_by('id')[:1]]
def index_queryset(self, using=None):
"""Used when the entire index for model is updated."""
return self.get_model().objects.all()
. 실제로 prepare 메소드를 사용하는 image_url 필드를 제외하고는 생성시 인스턴스를 색인화합니다. 인스턴스 업데이트시 색인이 생성되었습니다.
질문은 생성시 색인이 생성되지 않는 이유는 무엇입니까?
모든 포인터가 감사하겠습니다.