def test_set_recommendation_impact_via_redis(self):

        user_info = {'uid': '1', 'remote_ip': '127.0.0.1', 'uri': 'testuri'}

        records_to_test = range(0, 100000)
        recommendations = {90000: 1.0, 4300: 0.3}

        self.redis.set("obelix::recommendations::1", json.dumps(recommendations))

        settings = ObelixSearchEngineSettings(redis=self.redis)
        settings_json = settings.dump()

        settings_json['recommendations_impact'] = 1
        self.redis.set("obelix::settings", json.dumps(settings_json))

        records, scores = rank_records_obelix(user_info,
                                               records_to_test,
                                               rg=10, jrec=0,
                                               settings=settings)

        for key, val in recommendations.iteritems():
            self.assertTrue(key in records)

        settings_json['recommendations_impact'] = 0.1
        self.redis.set("obelix::settings", json.dumps(settings_json))

        records, scores = rank_records_obelix(user_info,
                                               records_to_test,
                                               rg=10, jrec=0,
                                               settings=settings)
        for key, val in recommendations.iteritems():
            self.assertFalse(key in records)
示例#2
0
    def test_set_recommendation_impact_via_redis(self):

        user_info = {'uid': '1', 'remote_ip': '127.0.0.1', 'uri': 'testuri'}

        records_to_test = range(0, 100000)
        recommendations = {90000: 1.0, 4300: 0.3}

        self.redis.set("obelix::recommendations::1",
                       json.dumps(recommendations))

        settings = ObelixSearchEngineSettings(redis=self.redis)
        settings_json = settings.dump()

        settings_json['recommendations_impact'] = 1
        self.redis.set("obelix::settings", json.dumps(settings_json))

        records, scores = rank_records_obelix(user_info,
                                              records_to_test,
                                              rg=10,
                                              jrec=0,
                                              settings=settings)

        for key, val in recommendations.iteritems():
            self.assertTrue(key in records)

        settings_json['recommendations_impact'] = 0.1
        self.redis.set("obelix::settings", json.dumps(settings_json))

        records, scores = rank_records_obelix(user_info,
                                              records_to_test,
                                              rg=10,
                                              jrec=0,
                                              settings=settings)
        for key, val in recommendations.iteritems():
            self.assertFalse(key in records)
    def test_result_no_changes_when_user_is_zero_jrec_set(self):
        user_info = {'uid': '', 'remote_ip': '127.0.0.1', 'uri': 'testuri'}

        settings = ObelixSearchEngineSettings(redis=self.redis)

        self.assertEqual(self.hitset[4:14], rank_records_obelix(user_info,
                                                                 self.hitset, rg=10, jrec=5,
                                                                 settings=settings)[0])
示例#4
0
    def test_result_no_changes_when_user_is_zero_jrec_set(self):
        user_info = {'uid': '', 'remote_ip': '127.0.0.1', 'uri': 'testuri'}

        settings = ObelixSearchEngineSettings(redis=self.redis)

        self.assertEqual(
            self.hitset[4:14],
            rank_records_obelix(user_info,
                                self.hitset,
                                rg=10,
                                jrec=5,
                                settings=settings)[0])
    def test_large_dataset_hidden_treasure_lost_without_recommendations(self):

        user_info = {'uid': '1', 'remote_ip': '127.0.0.1', 'uri': 'testuri'}

        records_to_test = range(0, 100000)
        recommendations = {90000: 1.0, 430: 0.8}

        self.redis.set("obelix::recommendations::1", json.dumps(recommendations))

        settings = ObelixSearchEngineSettings(redis=self.redis)
        settings.recommendations_impact = 0

        records, scores = rank_records_obelix(user_info,
                                               records_to_test,
                                               rg=10, jrec=0,
                                               settings=settings)

        for key, val in recommendations.iteritems():
            self.assertFalse(key in records)
示例#6
0
    def test_large_dataset_hidden_treasure_lost_without_recommendations(self):

        user_info = {'uid': '1', 'remote_ip': '127.0.0.1', 'uri': 'testuri'}

        records_to_test = range(0, 100000)
        recommendations = {90000: 1.0, 430: 0.8}

        self.redis.set("obelix::recommendations::1",
                       json.dumps(recommendations))

        settings = ObelixSearchEngineSettings(redis=self.redis)
        settings.recommendations_impact = 0

        records, scores = rank_records_obelix(user_info,
                                              records_to_test,
                                              rg=10,
                                              jrec=0,
                                              settings=settings)

        for key, val in recommendations.iteritems():
            self.assertFalse(key in records)
示例#7
0
    def test_return_size_ofrank_records_obelix(self):
        user_info = {'uid': 1, 'remote_ip': "127.0.0.1", "uri": "testuri"}
        hitset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

        records, scores = rank_records_obelix(user_info, hitset, rg=10, jrec=0)
        self.assertEqual(hitset[0:10], records)
示例#8
0
    def test_rank_records_obelix(self):
        user_info = {'uid': 1, 'remote_ip': "127.0.0.1", "uri": "testuri"}
        hitset = [1, 2, 3, 4, 5, 6, 7, 8, 9]

        records, scores = rank_records_obelix(user_info, hitset, rg=10, jrec=0)
        self.assertEqual(hitset, records)
    def test_return_size_ofrank_records_obelix(self):
        user_info = {'uid': 1, 'remote_ip': "127.0.0.1", "uri": "testuri"}
        hitset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

        records, scores = rank_records_obelix(user_info, hitset, rg=10, jrec=0)
        self.assertEqual(hitset[0:10], records)
示例#10
0
    def test_rank_records_obelix(self):
        user_info = {'uid': 1, 'remote_ip': "127.0.0.1", "uri": "testuri"}
        hitset = [1, 2, 3, 4, 5, 6, 7, 8, 9]

        records, scores = rank_records_obelix(user_info, hitset, rg=10, jrec=0)
        self.assertEqual(hitset, records)