kb: add keywords, to boost searches (#8472)

This commit is contained in:
Frédéric Péters 2015-11-01 22:56:21 +01:00
parent 8992e65d93
commit 1d318732a2
4 changed files with 19 additions and 2 deletions

View File

@ -27,6 +27,7 @@ class Page(models.Model):
title = models.CharField(_('Title'), max_length=200)
slug = models.SlugField(_('Slug'))
content = RichTextField(_('Text'))
keywords = models.CharField(_('Keywords'), max_length=200, blank=True)
class Meta:
ordering = ['title']

View File

@ -23,16 +23,17 @@ from haystack import indexes
from .models import Page
class PageIndex(indexes.SearchIndex, indexes.Indexable):
title = indexes.CharField(model_attr='title', boost=1.5)
title = indexes.CharField(model_attr='title', boost=3)
text = indexes.CharField(document=True)
text_auto = indexes.EdgeNgramField()
slug = indexes.CharField(model_attr='slug', indexed=False)
keywords = indexes.CharField(model_attr='keywords', boost=1.5)
def get_model(self):
return Page
def prepare_text(self, obj):
return obj.title + ' ' + HTMLParser().unescape(strip_tags(obj.content))
return obj.title + ' ' + obj.keywords + ' ' + HTMLParser().unescape(strip_tags(obj.content))
def prepare_text_auto(self, obj):
return self.prepare_text(obj)

View File

@ -19,4 +19,9 @@
{{ object.content|safe }}
<p class="keywords">
{% trans 'Keywords:' %}
{{ object.keywords }}
</p>
{% endblock %}

View File

@ -455,3 +455,13 @@ button.save.pinned {
box-shadow: none;
border: none;
}
input#id_keywords {
width: 90%;
}
p.keywords {
padding-top: 1em;
margin-top: 1em;
border-top: 1px dotted #D8D8D8;
}