使用django haystack和elasticsearch进行Unescape搜索结果

时间:2014-10-26 07:41:43

标签: django elasticsearch django-haystack

我正在使用带有弹性搜索后端的django-haystack。该数据包含可能包含&'""等特殊字符的图书名称。索引数据会转义这些字符,搜索结果会显示转义的数据。我如何告诉haystack或elasticsearch

  1. 关闭逃跑
    OR
  2. 当我想在非HTML上下文中使用结果时,
  3. unescape字符,即纯文本?
  4. 这是我的代码:

    #search_indexes.py
    class Book(indexes.SearchIndex, indexes.Indexable):
        text = indexes.EdgeNgramField(document=True, use_template=True)
    
        def get_model(self):
            return Book
    
    #template
    {{object.name}}
    
    #query
    SearchQuerySet().autocomplete(text=my_query)
    

1 个答案:

答案 0 :(得分:1)

在模板中,您可以使用过滤器和标签,如:

{% autoescape on %}
    {{ object.name }}
{% endautoescape %}

{{ object.name|striptags }}