Пример #1
0
def lucene_search(request, search_key, show_all):
    
    def wrapper(row):
        id = row["id"]
        doc = ExceptionRecord.get(id)
        return _record_to_json(doc)
    
    if not show_all:
        search_key = "%s AND NOT archived" % search_key
    
    total_records = _couchlog_count()
    paginator = LucenePaginator(config.COUCHLOG_LUCENE_VIEW, wrapper, 
                                database=ExceptionRecord.get_db())
    return paginator.get_ajax_response(request, search_key, extras={"iTotalRecords": total_records})
def get_records_to_process(search_key, batch_size):
    def wrapper(row):
        id = row["id"]
        doc = ExceptionRecord.get(id)
        domain = doc.domain if hasattr(doc, "domain") else ""
        try:
            domain, case_id = domain.split(',')
        except ValueError:
            return {'exception': doc}
        return {
            'domain': domain,
            'case_id': case_id,
            'exception': doc
        }

    search_key = "%s AND NOT archived" % search_key

    paginator = LucenePaginator(SEARCH_VIEW_NAME, wrapper, database=ExceptionRecord.get_db())
    return paginator.get_results(search_key, batch_size, 0)