2011-11-20 40 views
3

我努力让Django的草垛建立在我的网站,并想有片段在我的搜索结果大致如下所示:如何访问/配置摘要/段在Django草堆

标题结果一个约维基
...这个特别的事情有关维基值是...我总是使用维基当我走......片断约维基太多价值的三大谈判。 ..这是另一个片段值 约维客

我知道有一个使用草堆代码做了高亮的模板标签,但是它产生的片段是相当有限:

  • 他们总是查询词开始
  • ,只有一个片段值
  • 他们不支持星号查询
  • 和其他东西?

有没有办法使用Solr后端生成正确的代码片段?

回答

0

底线是,Solr的高亮能不能真正通过草堆以灵活的方式使用。我和IRC的Haystack的主要开发人员交谈过,他基本上说,如果我想要突出显示,我想要的唯一方法就是扩展Haystack使用的Solr后端。

我在那玩了半天左右,但无法让Haystack认出我的定制后端。 Haystack有一些神奇的后端加载代码,这些代码并没有与我一起工作。

因此,我切换到sunburnt,它提供了一个围绕Solr的轻量级且更具可扩展性的包装。我希望它会更好。

+0

Haystack没有用于后端的任何魔法加载代码。我写了一对夫妇,这很简单。你接受基类,扩展它,然后像Python中的其他任何东西一样调用它。 – mattdeboard

+0

此外,特定的查询条款非常容易添加到Haystack,当谈到Solr。如果你半天涉猎并且无法使用它,那么你的方法就错了。 – mattdeboard

+0

是的,我有这种印象。我现在忘记了细节,但它可能是我的python-fu不能很好地遵循Haystack提供的所有有用的东西。虽然令人沮丧。 – mlissner

0
from haystack.utils import Highlighter 
my_text = 'This is a sample block that would be more meaningful in real life.' 
my_query = 'block meaningful' 
highlight = Highlighter(my_query) 
highlight.highlight(my_text) 

http://docs.haystacksearch.org/dev/highlighting.html

+0

谢谢@威廉。我更新了上面的问题,因为你在这里演示的荧光笔课程非常有限。 – mlissner