【发布时间】:2018-04-21 09:54:38
【问题描述】:
我遇到了一个关于 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"]},
如您所见,每个相关数据都在一个单元素列表中编制索引,这使得进一步的查询变得不可能。
这是我的索引定义:
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()
有什么建议吗?提前致谢。
【问题讨论】:
-
查了一下,好像和另一个问题有关:
app_label, model_name = raw_result[DJANGO_CT].split('.') AttributeError: 'list' object has no attribute 'split',见github.com/django-haystack/django-haystack/issues/1200
标签: django solr lucene django-haystack pysolr