python – Haystack Multiple Indices – 索引相同,即使有不同的
发布时间:2020-12-20 11:28:00 所属栏目:Python 来源:网络整理
导读:我有以下搜索 class ProductIndex(indexes.SearchIndex,indexes.Indexable): text = indexes.CharField(document=True,use_template=True) destination = indexes.FacetIntegerField( model_attr='hotel__destination__id') country = indexes.FacetIntegerF
我有以下搜索
class ProductIndex(indexes.SearchIndex,indexes.Indexable): text = indexes.CharField(document=True,use_template=True) destination = indexes.FacetIntegerField( model_attr='hotel__destination__id') country = indexes.FacetIntegerField(model_attr='hotel__country__id') hotel_class = indexes.FacetCharField(model_attr='hotel__hotel_class') hotel_type = indexes.FacetIntegerField(model_attr='hotel__hotel_type__id') def get_model(self): return Product def index_queryset(self,using=True): return self.get_model().objects.all() class DestinationIndex(indexes.SearchIndex,use_template=True) content_auto = indexes.EdgeNgramField(model_attr="foo") 并在settings.py中进行以下设置 HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine','URL': 'http://127.0.0.1:9200/','INDEX_NAME': 'haystack',},'autocomplete': { 'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine','INDEX_NAME': 'autcomplete',} } 但是当我说rebuild_indexes时,两个索引变得相同,它们根据两个索引类进行索引.但我希望使用ProductIndex索引默认索引,并使用目标索引索引自动完成. 有任何想法吗? 解决方法
您可以使用键EXCLUDED_INDEXES排除索引:
HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine','EXCLUDED_INDEXES': ['my_destination_app.search_indexes.DestinationIndex'],'EXCLUDED_INDEXES': ['my_product_app.search_indexes.ProductIndex'],} } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |