Skip to content

Instantly share code, notes, and snippets.

@swsnider
Created July 22, 2008 03:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save swsnider/637 to your computer and use it in GitHub Desktop.
Save swsnider/637 to your computer and use it in GitHub Desktop.
class ExtractRelevantTextNode(template.Node):
def __init__(self, field_name, query, fieldtext):
self.field_name, self.query, self.fieldtext = field_name.strip(), query.strip(), fieldtext.strip()
def render(self, context):
efffield_name = Variable(self.field_name).resolve(context)
effquery = Variable(self.query).resolve(context)
efffieldtext = Variable(self.fieldtext).resolve(context)
if type(self.query) == type(u""):
effquery = lucene.QueryParser(efffield_name, lu.getAnalyzer()).parse(effquery)
scorer = lucene.QueryScorer(effquery)
highlighter = lucene.Highlighter(lucene.SimpleHTMLFormatter('<span class="highlight">', "</span>"),scorer)
highlighter.setTextFragmenter(lucene.SimpleFragmenter(200))
return unicode(highlighter.getBestFragment(lu.getAnalyzer(), efffield_name, efffieldtext))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment