Example #1
0
    def test_auto_complete(self):

        doc1 = Document.objects.create(title="doc1",
                                       checksum="A",
                                       content="test test2 test3")
        doc2 = Document.objects.create(title="doc2",
                                       checksum="B",
                                       content="test test2")
        doc3 = Document.objects.create(title="doc3",
                                       checksum="C",
                                       content="test2")

        index.add_or_update_document(doc1)
        index.add_or_update_document(doc2)
        index.add_or_update_document(doc3)

        ix = index.open_index()

        self.assertListEqual(index.autocomplete(ix, "tes"),
                             [b"test3", b"test", b"test2"])
        self.assertListEqual(index.autocomplete(ix, "tes", limit=3),
                             [b"test3", b"test", b"test2"])
        self.assertListEqual(index.autocomplete(ix, "tes", limit=1),
                             [b"test3"])
        self.assertListEqual(index.autocomplete(ix, "tes", limit=0), [])
Example #2
0
    def get(self, request, format=None):
        if 'term' in request.query_params:
            term = request.query_params['term']
        else:
            return HttpResponseBadRequest("Term required")

        if 'limit' in request.query_params:
            limit = int(request.query_params['limit'])
            if limit <= 0:
                return HttpResponseBadRequest("Invalid limit")
        else:
            limit = 10

        return Response(index.autocomplete(self.ix, term, limit))