Esempio n. 1
0
def search_startswith(query):
    db = get_mongo('paper')
    res = list(db.find({'title':
                        {'$regex': '^{0}'.format(query) } },
                       SEARCH_RETURN_FIELDS))
    res = [k for k in res if levenshtein(k['title'], query) < 10]
    print res
    return res
Esempio n. 2
0
def similar_search(query):
    """ return one result that is most similar to query"""
    ret = []
    query = query.strip().lower()
    for cand in all_titles:
        dist = levenshtein(query, cand[0])
        if dist < 3:
            ret.append((cand, dist))
    if not ret:
        return None
    res = max(ret, key=operator.itemgetter(1))

    db = get_mongo('paper')
    res = db.find_one({'_id': res[0][1]}, SEARCH_RETURN_FIELDS)
    return res