我网站上的内容用可变长度的字符串标记,我想对这些标记进行分面搜索。例如,一个故事可能有标签“内战”、“格兰特将军”和“葛底斯堡之战”。我希望能够对精确的、非标记化的字符串进行分面搜索。
在我的 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的分面内部实现有关,但我该如何解决这个问题?
谢谢!
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" />