Removed support for L1 distance and Jaccard distance from ivfflat due to non-optimal clustering

This commit is contained in:
Andrew Kane
2024-04-22 14:11:29 -07:00
parent 881fbc15ef
commit b2f7dad8a7
15 changed files with 13 additions and 170 deletions

View File

@@ -70,8 +70,8 @@ for (1 .. 20)
}
# Check each index type
my @operators = ("<->", "<#>", "<=>", "<+>");
my @opclasses = ("vector_l2_ops", "vector_ip_ops", "vector_cosine_ops", "vector_l1_ops");
my @operators = ("<->", "<#>", "<=>");
my @opclasses = ("vector_l2_ops", "vector_ip_ops", "vector_cosine_ops");
for my $i (0 .. $#operators)
{

View File

@@ -17,8 +17,8 @@ $node->safe_psql("postgres",
);
# Check each index type
my @operators = ("<->", "<#>", "<=>", "<+>");
my @opclasses = ("vector_l2_ops", "vector_ip_ops", "vector_cosine_ops", "vector_l1_ops");
my @operators = ("<->", "<#>", "<=>");
my @opclasses = ("vector_l2_ops", "vector_ip_ops", "vector_cosine_ops");
for my $i (0 .. $#operators)
{

View File

@@ -66,8 +66,8 @@ for (1 .. 20)
}
# Check each index type
my @operators = ("<->", "<#>", "<=>", "<+>");
my @opclasses = ("vector_l2_ops", "vector_ip_ops", "vector_cosine_ops", "vector_l1_ops");
my @operators = ("<->", "<#>", "<=>");
my @opclasses = ("vector_l2_ops", "vector_ip_ops", "vector_cosine_ops");
for my $i (0 .. $#operators)
{

View File

@@ -74,8 +74,8 @@ for (1 .. 20)
}
# Check each index type
my @operators = ("<->", "<#>", "<=>", "<+>");
my @opclasses = ("halfvec_l2_ops", "halfvec_ip_ops", "halfvec_cosine_ops", "halfvec_l1_ops");
my @operators = ("<->", "<#>", "<=>");
my @opclasses = ("halfvec_l2_ops", "halfvec_ip_ops", "halfvec_cosine_ops");
for my $i (0 .. $#operators)
{
@@ -102,12 +102,7 @@ for my $i (0 .. $#operators)
));
# Test approximate results
if ($operator eq "<+>")
{
test_recall(1, 0.30, $operator);
test_recall(10, 0.90, $operator);
}
elsif ($operator ne "<#>")
if ($operator ne "<#>")
{
# TODO Fix test (uniform random vectors all have similar inner product)
test_recall(1, 0.34, $operator);
@@ -136,12 +131,7 @@ for my $i (0 .. $#operators)
like($stderr, qr/using \d+ parallel workers/);
# Test approximate results
if ($operator eq "<+>")
{
test_recall(1, 0.30, $operator);
test_recall(10, 0.90, $operator);
}
elsif ($operator ne "<#>")
if ($operator ne "<#>")
{
# TODO Fix test (uniform random vectors all have similar inner product)
test_recall(1, 0.34, $operator);

View File

@@ -70,8 +70,8 @@ for (1 .. 20)
}
# Check each index type
my @operators = ("<~>", "<\%>");
my @opclasses = ("bit_hamming_ops", "bit_jaccard_ops");
my @operators = ("<~>");
my @opclasses = ("bit_hamming_ops");
for my $i (0 .. $#operators)
{