0

簡単な検索エンジンを作成するには?私はこのようなものを持っています:

def search(request):
    if 'search' in request.GET:
        term = request.GET['search']
        if len(term) > 3:
            d = Data.objects.filter(Q(content__contains=term) | Q(
                desc__contains=term))
            count = d.count()
            return render_to_response('search_result.html', {'d': d, 'count': count}, context_instance=RequestContext(request))
    return render_to_response('search_result.html', context_instance=RequestContext(request))

モデルで検索する場合は問題ありませんが、HTMLコンテンツで検索する必要があります(django-chunksを使用します)

4

1 に答える 1

0

Django チャンク データもモデルに格納されます。他のモデルと同様にインポートしてフィルタリングできます

class Chunk(models.Model):
    """
    A Chunk is a piece of content associated
    with a unique key that can be inserted into
    any template with the use of a special template
    tag
    """
    key = models.CharField(_(u'Key'), help_text=_(u"A unique name for this chunk of content"), blank=False, max_length=255, unique=True)
    content = models.TextField(_(u'Content'), blank=True)
    description = models.CharField(_(u'Description'), blank=True, max_length=64, help_text=_(u"Short Description"))

    class Meta:
        verbose_name = _(u'chunk')
        verbose_name_plural = _(u'chunks')

    def __unicode__(self):
        return u"%s" % (self.key,)

contains非常に小さなデータセットがある場合は、クエリを実行するのに適した方法です。クエリを発行するだけLIKEなので、あまりうまくスケーリングしません。大量のデータが必要な場合は、全文検索専用に作成されたエンジンを探すことをお勧めします。

于 2013-03-15T13:23:46.960 に答える