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)