0

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

在我的 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=treelines_stories.story.1] unknown field 'tags_exact'

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

谢谢!

4

1 回答 1

2

搜索索引.py:

    tags = MultiValueField(faceted=True)

架构.xml:

<field name="tags" type="text" indexed="true" stored="true" multiValued="true" />
<field name="tags_exact" type="string" indexed="true" stored="true" multiValued="true" />
于 2012-10-26T22:07:33.143 回答