Ejemplo n.º 1
0
def index_document_id(document_id):
    document = Document.by_id(document_id)
    if document is None:
        log.info("Could not find document: %r", document_id)
        return
    index_document(document)
    index_records(document)
Ejemplo n.º 2
0
def index_document(document, shallow=False, sync=False):
    name = document.name
    log.info("Index document [%s]: %s", document.id, name)
    proxy = document.to_proxy()
    context = {
        'status': document.status,
        'content_hash': document.content_hash,
        'foreign_id': document.foreign_id,
        'error_message': document.error_message,
        'uploader_id': document.uploader_id,
        'title': document.title,
        'name': name,
        'summary': document.summary,
        'author': document.author,
        'generator': document.generator,
        'file_size': document.file_size,
        'file_name': document.file_name,
        'source_url': document.source_url,
        'languages': document.languages,
        'countries': document.countries,
        'keywords': document.keywords,
        'date': document.date,
        'authored_at': document.authored_at,
        'modified_at': document.modified_at,
        'published_at': document.published_at,
        'retrieved_at': document.retrieved_at,
        'dates': document.dates,
        'extension': document.extension,
        'encoding': document.encoding,
        'mime_type': document.mime_type,
        'pdf_version': document.pdf_version,
        'columns': document.columns,
        'ancestors': document.ancestors,
        'children': document.children.count()
    }
    texts = list(document.texts)
    texts.extend(document.columns)
    parent = document.parent
    if parent is not None:
        texts.append(parent.title)
        context['parent'] = {
            'id': parent.id,
            'schema': parent.schema,
            'title': parent.title,
        }
    if not shallow:
        index_records(document, sync=False)
    return index_single(document, proxy, context, texts, sync=sync)