payload_sum = payload_sum ** 0.5

    payloads = []
    for k, v in features.iteritems():
        payloads.append((k, v / payload_sum * boost))

    payloads = (f[0] + '|' + str(f[1]) for f in payloads)
    return ' '.join(payloads)


if __name__ == '__main__':

    # MongoDB
    host = 'localhost'
    port = 27017
    mcm = MongoConnectionManager(host, port, MongoCodec())
    database = 'processed'
    resource_collection = mcm.get_collection(database, 'resources', Resource)

    # message queue
    mq_config = {
        'transport': 'socket',
        'protocol': 'binary',
        'host': 'localhost',
        'port': 9091
        }
    mq_client = message_queue_client_from_config(mq_config)
    mq_codec = JSONCodec()
    processed_resource_queue = 'processed_resources'

    # ElasticSearch
from topic_tracking.model import Topic
from topic_tracking.topic_management.topic_manager import TopicManager
from topic_tracking.util.codec.mongo_codec import MongoCodec
from topic_tracking.util.mongo import MongoConnectionManager


if __name__ == '__main__':

    # MongoDB
    host = 'localhost'
    port = 27017
    mcm = MongoConnectionManager(host, port, MongoCodec())
    database = 'processed'
    topic_collection = mcm.get_collection(database, 'topics', Topic)

    # utilities
    topic_manager = TopicManager(topic_collection)

    # topic properties
    title = "North Korea conflict"
    terms = {}
    entities = {'country_north-korea': 1}

    topic = topic_manager.create_from_features(title, terms, entities)

    print(topic)