Code Duplication    Length = 24-24 lines in 3 locations

tests/milvus_python_test/entity/test_search.py 3 locations

@@ 825-848 (lines=24) @@
822
        assert result[1][0].id in ids
823
        assert result[1][0].distance <= epsilon
824
825
    def test_search_distance_tanimoto_flat_index(self, connect, tanimoto_collection):
826
        '''
827
        target: search ip_collection, and check the result: distance
828
        method: compare the return distance value with value computed with Inner product
829
        expected: the return distance equals to the computed value
830
        '''
831
        # from scipy.spatial import distance
832
        nprobe = 512
833
        int_vectors, vectors, ids = self.init_binary_data(connect, tanimoto_collection, nb=2)
834
        index_type = IndexType.FLAT
835
        index_param = {
836
            "nlist": 16384
837
        }
838
        connect.create_index(tanimoto_collection, index_type, index_param)
839
        logging.getLogger().info(connect.get_collection_info(tanimoto_collection))
840
        logging.getLogger().info(connect.get_index_info(tanimoto_collection))
841
        query_int_vectors, query_vecs, tmp_ids = self.init_binary_data(connect, tanimoto_collection, nb=1, insert=False)
842
        distance_0 = tanimoto(query_int_vectors[0], int_vectors[0])
843
        distance_1 = tanimoto(query_int_vectors[0], int_vectors[1])
844
        search_param = get_search_param(index_type)
845
        status, result = connect.search(tanimoto_collection, top_k, query_vecs, params=search_param)
846
        logging.getLogger().info(status)
847
        logging.getLogger().info(result)
848
        assert abs(result[0][0].distance - min(distance_0, distance_1)) <= epsilon
849
850
    def test_search_distance_ip_index_params(self, connect, ip_collection, get_index):
851
        '''
@@ 690-713 (lines=24) @@
687
        logging.getLogger().info(result)
688
        assert abs(result[0][0].distance - min(distance_0, distance_1).astype(float)) <= epsilon
689
690
    def test_search_distance_hamming_flat_index(self, connect, ham_collection):
691
        '''
692
        target: search ip_collection, and check the result: distance
693
        method: compare the return distance value with value computed with Inner product
694
        expected: the return distance equals to the computed value
695
        '''
696
        # from scipy.spatial import distance
697
        nprobe = 512
698
        int_vectors, vectors, ids = self.init_binary_data(connect, ham_collection, nb=2)
699
        index_type = IndexType.FLAT
700
        index_param = {
701
            "nlist": 16384
702
        }
703
        connect.create_index(ham_collection, index_type, index_param)
704
        logging.getLogger().info(connect.get_collection_info(ham_collection))
705
        logging.getLogger().info(connect.get_index_info(ham_collection))
706
        query_int_vectors, query_vecs, tmp_ids = self.init_binary_data(connect, ham_collection, nb=1, insert=False)
707
        distance_0 = hamming(query_int_vectors[0], int_vectors[0])
708
        distance_1 = hamming(query_int_vectors[0], int_vectors[1])
709
        search_param = get_search_param(index_type)
710
        status, result = connect.search(ham_collection, top_k, query_vecs, params=search_param)
711
        logging.getLogger().info(status)
712
        logging.getLogger().info(result)
713
        assert abs(result[0][0].distance - min(distance_0, distance_1).astype(float)) <= epsilon
714
715
    def test_search_distance_substructure_flat_index(self, connect, substructure_collection):
716
        '''
@@ 638-661 (lines=24) @@
635
        status, result = connect.search(ip_collection, top_k, query_vecs, params=search_param)
636
        assert abs(result[0][0].distance - max(distance_0, distance_1)) <= gen_inaccuracy(result[0][0].distance)
637
638
    def test_search_distance_jaccard_flat_index(self, connect, jac_collection):
639
        '''
640
        target: search ip_collection, and check the result: distance
641
        method: compare the return distance value with value computed with Inner product
642
        expected: the return distance equals to the computed value
643
        '''
644
        # from scipy.spatial import distance
645
        nprobe = 512
646
        int_vectors, vectors, ids = self.init_binary_data(connect, jac_collection, nb=2)
647
        index_type = IndexType.FLAT
648
        index_param = {
649
            "nlist": 16384
650
        }
651
        connect.create_index(jac_collection, index_type, index_param)
652
        logging.getLogger().info(connect.get_collection_info(jac_collection))
653
        logging.getLogger().info(connect.get_index_info(jac_collection))
654
        query_int_vectors, query_vecs, tmp_ids = self.init_binary_data(connect, jac_collection, nb=1, insert=False)
655
        distance_0 = jaccard(query_int_vectors[0], int_vectors[0])
656
        distance_1 = jaccard(query_int_vectors[0], int_vectors[1])
657
        search_param = get_search_param(index_type)
658
        status, result = connect.search(jac_collection, top_k, query_vecs, params=search_param)
659
        logging.getLogger().info(status)
660
        logging.getLogger().info(result)
661
        assert abs(result[0][0].distance - min(distance_0, distance_1)) <= epsilon
662
663
    def test_search_distance_jaccard_flat_index_metric_type(self, connect, jac_collection):
664
        '''