示例#1
0
def cacheTopics(request, collection_id):
    if request.method == 'GET':
        evidence_count = Evidence.objects.filter(created_by=collection_id).count()

        Topic.objects.filter(collection_id=collection_id).delete()
        collection_name = Collection.objects.get(collection_id=int(collection_id)).collection_name
        topicList = TopicModeler.get_online_lda_topics(collection_name, evidence_count / 10)

        for i in range(len(topicList)):
            topic_id = topicList[i][0]
            evidence_count = Evidence.objects.filter(Q(evidencetopic__primary_topic=topic_id)&Q(created_by=collection_id)).count()
            t = Topic(
                collection_id=collection_id,
                index=topic_id,
                terms=json.dumps(topicList[i][1]),
                document_count=evidence_count
            )
            t.save()

        return HttpResponse(json.dumps({}), status=status.HTTP_200_OK)