我正在使用django-haystack(飞快的后端),我有一个设置,我想在多个模型中搜索多个字段,并且最好能够相当容易地将字段添加到索引中。我也想使用突出显示。
我的问题是,据我所知,我必须在每个要强调的字段上使用高亮模板标签。我这样使用它:
{% highlight result.object.content with query %}
{% highlight result.object.other_field with query %}
我还没有进入多个模型,即使在同一个模型中只有多个字段,这种方法也存在一些问题。首先,我必须为每个模型的每个领域写这个。并非所有模型都具有内容字段,我索引的一些模型具有我希望突出显示的不同字段。此外,只要在模型的索引字段中某处存在匹配项,即使该字段中没有匹配项,标记也会弹出字段。这是不可取的。
我想要的是能够将所有这些字段整理到一个地方(就像搜索索引模板的工作方式),然后突出显示。这可能吗?
在template tag docs标签中使用如下:{% highlight result.summary with query %}
。我曾假设这可能会像我想要的那样做,但是SearchResult API docs没有提及它,尝试这一行只会给我一个None
个对象。