Django Haystack 多值字符串分面——未知字段tags_exact

问题描述 投票:0回答:1

我网站上的内容用可变长度的字符串标记,我想对这些标记进行分面搜索。例如,一个故事可能有标签“内战”、“格兰特将军”和“葛底斯堡之战”。我希望能够对精确的、非标记化的字符串进行分面搜索。

在我的 search_index.py 中,我定义了:

tags = MultiValueField(faceted=True, indexed=True)

我编辑了 build_solr_schema 生成的 schema.xml,使标签成为字符串而不是文本:

<field name="tags" type="string" indexed="true" stored="true" multiValued="true" />

不幸的是,当我收到有关tags_exact的错误时:

Failed to add documents to Solr: [Reason: None]
ERROR: [doc=application_stories.story.1] unknown field 'tags_exact'

我知道tags_exact字段与Haystack的分面内部实现有关,但我该如何解决这个问题?

谢谢!

django-haystack
1个回答
3
投票

search_index.py:

    tags = MultiValueField(faceted=True)

schema.xml:

<field name="tags" type="text" indexed="true" stored="true" multiValued="true" />
<field name="tags_exact" type="string" indexed="true" stored="true" multiValued="true" />
© www.soinside.com 2019 - 2024. All rights reserved.