示例#1
0
def search():
    import index
    query = request.args.get('q', '')
    page = request.args.get('page')
    page = int(page) if page else 1
    results = index.find(query=query, page=page)
    return render_template('search.html', results=results, page=page, query=query)
示例#2
0
def search():
    import index

    query = request.args.get("q", "")
    page = request.args.get("page")
    page = int(page) if page else 1
    results = index.find(query=query, page=page)
    return render_template("search.html", results=results, page=page, query=query)
示例#3
0
文件: tests.py 项目: danchr/tinydocs
    def testAdd(self):
        helptext = {
            'category':"the category",
            'name':"the title",
            'body':"the body",
            'url': "/cat/name/"
            }
        index.add(**helptext)
        results = index.find(query='body')
        self.assertEquals(results.total, 1)
        result = results[0]

        self.assertEquals(result['name'], 'the title')
        self.assertEquals(result['category'], 'the category')
        
        # adding with same id should ovewrite
        index.add(**helptext)
        result = index.find(query='body')
        self.assertEquals(result.total, 1)
示例#4
0
文件: tests.py 项目: danchr/tinydocs
    def testAdd(self):
        helptext = {
            'category': "the category",
            'name': "the title",
            'body': "the body",
            'url': "/cat/name/"
        }
        index.add(**helptext)
        results = index.find(query='body')
        self.assertEquals(results.total, 1)
        result = results[0]

        self.assertEquals(result['name'], 'the title')
        self.assertEquals(result['category'], 'the category')

        # adding with same id should ovewrite
        index.add(**helptext)
        result = index.find(query='body')
        self.assertEquals(result.total, 1)
示例#5
0
def search():
    import index
    query = request.args.get('q', '')
    page = request.args.get('page')
    page = int(page) if page else 1
    results = index.find(query=query, page=page)
    return render_template('search.html',
                           results=results,
                           page=page,
                           query=query)
示例#6
0
def test_index(verifier, index):
    print('\nTEST:')

    # test correctness first
    for prefix, expected in verifier.items():
        actual = find(prefix, index)
        if actual != expected:
            print(prefix, expected)
            print('actual results', actual)
            raise Exception('find is broken')

    # next, get timing
    t = timer()
    for prefix, expected in verifier.items():
        actual = find(prefix, index)

    elapsed = timer() - t
    num_tests = len(verifier)
    print('# of vals', index.end - index.start)
    print('# of tests', num_tests)
    print('avg cost (microseconds)', elapsed * 1000000.0 / num_tests)
示例#7
0
        res.add(name[:2])
        res.add(name[:3])
    return sorted(list(res))


if __name__ == '__main__':
    names = get_test_data()
    prefixes = get_test_prefixes(names)

    print('build naive index')
    t = timer()
    naive_index = make_index(names)
    elapsed = timer() - t
    print('time to build (microseconds):', elapsed * 1000000)

    verifier = {}

    for prefix in prefixes:
        verifier[prefix] = find(prefix, naive_index)

    test_index(verifier, naive_index)

    print('\n\nbuild smart index')
    t = timer()
    smart_index = make_index(names, threshold=100)
    elapsed = timer() - t
    print('time to build (microseconds):', elapsed * 1000000)
    # print_index(smart_index)

    test_index(verifier, smart_index)