我在使用django-haystack + Solr时遇到了一个奇怪的问题:每个字段都会收到一个列表,而不是实际的原始值。
索引后,这是我的 Solr 索引的摘录(从 Solr 管理员粘贴):
{
"id":"forum.category.4",
"django_ct":["forum.category"],
"django_id":[4],
"text":["Divers"],
"name":["Divers"],
"url":["/forum/#divers"],
"url_str":["/forum/#divers"],
"name_str":["Divers"],
"django_ct_str":["forum.category"],
"text_str":["Divers"]},
如您所见,每个相关数据都在一个 1 元素列表中建立索引,这使得进一步的查询变得不可能。
这是我的索引定义:
class CategoryIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, model_attr='name')
name = indexes.CharField(model_attr='name')
url = indexes.CharField(indexed=False)
def get_model(self):
return Category
def prepare_url(self, obj):
return obj.get_absolute_url()
有什么建议吗?提前谢谢。