2015-07-03 171 views
1

我开始在Django草垛和弹性搜索上进行实验。Django-haystack:创建多个模型的搜索索引

使用:

django-haystack==2.4.0 
elasticsearch==1.6.0 

models.py

class Skill(models.Model): 
    name = models.CharField(max_length=100) 

class City(models.Model): 
    name = models.CharField(max_length=100) 

我想创建一个以上的车型之一搜索索引:

class multiIndex(indexes.SearchIndex, indexes.Indexable): 
    #other code 
    def get_model(self): 
     return (Skill, City) 

是有可能创造多个搜索索引楷模。或者我必须为多个模型创建多个搜索索引。

注意:两种模型都是完全独立的。

回答

1

您无法为多个模型创建一个SearchIndex;你不是为了。如果你的模型相似,你可以使用一些继承(但我认为城市没有太多共同点)。

您的意思是创建SkillIndex & CityIndex。

您可以一起搜索它们;我想这就是你想要做的,不是吗?