我目前正在试用Django haystack将数据从PostgreSQL更新到solr集合。
我在search_indexes.py
中定义了两个模型,所以当我运行python manage.py update_index
命令时,它会将search_indexes.py
中定义的两个模型中的数据索引到我的solr集合中。
如何仅对所需的特定型号执行update_index
操作?
目前,当我运行命令时,以下2个模型运行。
Indexing 2 model1
Indexing 12 model2
search_indexes.py
from haystack import indexes
from .models import table1, table2
class model1(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(
document=True,
use_template=True,
template_name="search/indexes/tenants/table1_text.txt"
)
ats_id = indexes.CharField(model_attr='ats_id')
ats_name = indexes.CharField(model_attr='ats_name')
added_by = indexes.CharField(model_attr='added_by')
added_on = indexes.DateTimeField(model_attr='added_on')
def get_model(self):
return table1
def index_queryset(self, using=None):
return self.get_model().objects.all()
class model2(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(
document=True,
use_template=True,
template_name="search/indexes/tenants/table2_text.txt"
template_id = indexes.CharField(model_attr='template_id')
template_name = indexes.CharField(model_attr='template_name')
aspect = indexes.CharField(model_attr='aspect')
version = indexes.CharField(model_attr='version')
added_by = indexes.CharField(model_attr='added_by')
added_on = indexes.DateTimeField(model_attr='added_on')
ats_id = indexes.CharField(model_attr='ats_id')
def get_model(self):
return table2
def index_queryset(self, using=None):
return self.get_model().objects.all()
请提出解决方法。
1条答案
按热度按时间vsmadaxz1#
要更新的文档_索引