Пример #1
0
def process(input_doc_map, output_doc_map):
    # docid = input_doc_map["_id"]
    if "py_date" in input_doc_map:
        output_doc_map["date"] = input_doc_map["py_date"]
    if settings.CAT_CLASS in input_doc_map:
        output_doc_map[settings.CAT_CLASS] = list(set(input_doc_map[settings.CAT_CLASS]))
    if settings.CAT_SCORE in input_doc_map:
        output_doc_map[settings.CAT_SCORE] = input_doc_map[settings.CAT_SCORE]
    if output_doc_map["evergreen_score"] > 0:  # this should be guaranteed unless in reprocessing
        add_cat_class_score(output_doc_map, settings.EVERGREEN_NEXT_CATCLASS, output_doc_map["evergreen_score"])
        add_document_boost_score(output_doc_map, settings.get_evergreen_next_id(), output_doc_map["evergreen_score"] * settings.BOOST_RATE)
    else:
        if settings.BOOST_SCORE_KEY in input_doc_map:
            output_doc_map[settings.BOOST_SCORE_KEY] = input_doc_map[settings.BOOST_SCORE_KEY]
            remove_document_boost(output_doc_map, settings.get_social_id())
        remove_cat_and_score(output_doc_map, settings.SOCIAL_TRENDING_CATCLASS)
    return True