SELECT set_smlar_limit(0.3); set_smlar_limit ----------------- 0.3 (1 row) SET smlar.type = "tfidf"; SET smlar.stattable = "text_stat"; UPDATE test_text SET v = v || '{50,50,50}'::text[] WHERE t >=50 AND t < 60; INSERT INTO test_text VALUES(201, '{50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50}'); CREATE TABLE text_stat ( value text UNIQUE, ndoc int4 NOT NULL CHECK (ndoc>0) ); INSERT INTO text_stat ( SELECT q.w, count(*) FROM (SELECT array_to_col(v) AS w FROM test_text WHERE v IS NOT NULL) AS q GROUP BY w ); INSERT INTO text_stat VALUES (NULL, (SELECT count(*) FROM test_text)); DROP INDEX idx_test_text; SET smlar.tf_method = "n"; SET smlar.idf_plus_one = off; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.870583 9 | 0.858716 12 | 0.766621 8 | 0.725108 13 | 0.681623 14 | 0.611081 7 | 0.599535 15 | 0.551777 16 | 0.501358 6 | 0.482432 17 | 0.458069 18 | 0.420577 19 | 0.387851 5 | 0.374337 20 | 0.359086 21 | 0.333644 22 | 0.311011 (18 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s ----+---------- 50 | 0.306753 49 | 0.306482 (2 rows) SET smlar.tf_method = "n"; SET smlar.idf_plus_one = on; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ---------- 0.997241 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.951679 9 | 0.946916 12 | 0.909452 8 | 0.891104 13 | 0.872126 14 | 0.83881 7 | 0.83201 15 | 0.808827 16 | 0.781649 6 | 0.768873 17 | 0.756858 18 | 0.734118 19 | 0.713158 5 | 0.700594 20 | 0.693752 21 | 0.675714 22 | 0.658886 23 | 0.643138 24 | 0.628355 4 | 0.625485 25 | 0.61444 26 | 0.60131 27 | 0.58889 28 | 0.577119 29 | 0.565939 30 | 0.5553 31 | 0.54516 3 | 0.5407 32 | 0.535479 33 | 0.526223 34 | 0.517359 35 | 0.50886 36 | 0.5007 37 | 0.492857 38 | 0.48531 39 | 0.478039 40 | 0.471027 41 | 0.464259 42 | 0.45772 43 | 0.451396 44 | 0.445276 2 | 0.440679 45 | 0.439348 46 | 0.433601 47 | 0.428026 48 | 0.422615 49 | 0.417358 50 | 0.398379 51 | 0.394635 52 | 0.390962 53 | 0.387358 54 | 0.38382 55 | 0.380346 56 | 0.376933 57 | 0.373581 58 | 0.370286 60 | 0.369012 59 | 0.367048 61 | 0.365094 62 | 0.361263 63 | 0.357515 64 | 0.353847 65 | 0.350256 66 | 0.346738 67 | 0.343291 68 | 0.339913 69 | 0.336601 70 | 0.333351 71 | 0.330163 72 | 0.327034 73 | 0.323962 74 | 0.320945 75 | 0.317981 76 | 0.315068 77 | 0.312205 1 | 0.311044 78 | 0.30939 79 | 0.306621 80 | 0.303897 81 | 0.301217 (81 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s -----+---------- 8 | 0.759109 9 | 0.714367 7 | 0.694063 10 | 0.676445 11 | 0.643758 6 | 0.623275 12 | 0.615194 13 | 0.589945 14 | 0.567409 15 | 0.547127 5 | 0.544812 16 | 0.528742 17 | 0.511973 50 | 0.510326 51 | 0.50553 52 | 0.500825 18 | 0.496591 53 | 0.496208 54 | 0.491676 55 | 0.487225 56 | 0.482854 19 | 0.482412 57 | 0.47856 58 | 0.47434 59 | 0.470191 20 | 0.469285 21 | 0.457083 4 | 0.45545 22 | 0.4457 23 | 0.435047 2 | 0.428355 24 | 0.425047 33 | 0.419273 25 | 0.415635 34 | 0.41221 26 | 0.406753 35 | 0.405439 36 | 0.398938 27 | 0.398352 37 | 0.392689 28 | 0.390389 49 | 0.390116 38 | 0.386675 29 | 0.382826 39 | 0.380882 60 | 0.379628 30 | 0.37563 61 | 0.375598 40 | 0.375295 62 | 0.371657 41 | 0.369903 31 | 0.368771 63 | 0.367801 42 | 0.364692 64 | 0.364028 32 | 0.362222 65 | 0.360333 43 | 0.359654 66 | 0.356714 44 | 0.354778 67 | 0.353168 45 | 0.350054 68 | 0.349693 3 | 0.349116 69 | 0.346285 46 | 0.345476 70 | 0.342942 47 | 0.341034 71 | 0.339663 48 | 0.336722 72 | 0.336444 73 | 0.333283 74 | 0.330179 75 | 0.32713 76 | 0.324133 77 | 0.321188 78 | 0.318291 79 | 0.315443 80 | 0.312641 81 | 0.309883 82 | 0.307169 83 | 0.304497 1 | 0.302346 201 | 0.302346 84 | 0.301866 (85 rows) SET smlar.tf_method = "log"; SET smlar.idf_plus_one = off; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.870583 9 | 0.858716 12 | 0.766621 8 | 0.725108 13 | 0.681623 14 | 0.611081 7 | 0.599535 15 | 0.551777 16 | 0.501358 6 | 0.482432 17 | 0.458069 18 | 0.420577 19 | 0.387851 5 | 0.374337 20 | 0.359086 21 | 0.333644 22 | 0.311011 (18 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s ----+---------- 50 | 0.306662 49 | 0.306482 (2 rows) SET smlar.tf_method = "log"; SET smlar.idf_plus_one = on; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ---------- 0.999075 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.951679 9 | 0.946916 12 | 0.909452 8 | 0.891104 13 | 0.872126 14 | 0.83881 7 | 0.83201 15 | 0.808827 16 | 0.781649 6 | 0.768873 17 | 0.756858 18 | 0.734118 19 | 0.713158 5 | 0.700594 20 | 0.693752 21 | 0.675714 22 | 0.658886 23 | 0.643138 24 | 0.628355 4 | 0.625485 25 | 0.61444 26 | 0.60131 27 | 0.58889 28 | 0.577119 29 | 0.565939 30 | 0.5553 31 | 0.54516 3 | 0.5407 32 | 0.535479 33 | 0.526223 34 | 0.517359 35 | 0.50886 36 | 0.5007 37 | 0.492857 38 | 0.48531 39 | 0.478039 40 | 0.471027 41 | 0.464259 42 | 0.45772 43 | 0.451396 44 | 0.445276 2 | 0.440679 45 | 0.439348 46 | 0.433601 47 | 0.428026 48 | 0.422615 50 | 0.419425 49 | 0.417358 51 | 0.41482 52 | 0.410324 53 | 0.405932 54 | 0.40164 55 | 0.397443 56 | 0.393339 57 | 0.389323 58 | 0.385391 59 | 0.381541 60 | 0.369012 61 | 0.365094 62 | 0.361263 63 | 0.357515 64 | 0.353847 65 | 0.350256 66 | 0.346738 67 | 0.343291 68 | 0.339913 69 | 0.336601 70 | 0.333351 71 | 0.330163 72 | 0.327034 73 | 0.323962 74 | 0.320945 75 | 0.317981 76 | 0.315068 77 | 0.312205 1 | 0.311044 78 | 0.30939 79 | 0.306621 80 | 0.303897 81 | 0.301217 (81 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s -----+---------- 8 | 0.759109 9 | 0.714367 7 | 0.694063 10 | 0.676445 11 | 0.643758 6 | 0.623275 12 | 0.615194 13 | 0.589945 14 | 0.567409 15 | 0.547127 5 | 0.544812 16 | 0.528742 17 | 0.511973 18 | 0.496591 19 | 0.482412 50 | 0.481241 51 | 0.475957 52 | 0.470799 20 | 0.469285 53 | 0.465759 54 | 0.460835 21 | 0.457083 55 | 0.45602 4 | 0.45545 56 | 0.45131 57 | 0.446702 22 | 0.4457 58 | 0.442191 59 | 0.437774 23 | 0.435047 2 | 0.428355 24 | 0.425047 33 | 0.419273 25 | 0.415635 34 | 0.41221 26 | 0.406753 35 | 0.405439 36 | 0.398938 27 | 0.398352 37 | 0.392689 28 | 0.390389 49 | 0.390116 38 | 0.386675 29 | 0.382826 39 | 0.380882 60 | 0.379628 30 | 0.37563 61 | 0.375598 40 | 0.375295 62 | 0.371657 41 | 0.369903 31 | 0.368771 63 | 0.367801 42 | 0.364692 64 | 0.364028 32 | 0.362222 65 | 0.360333 43 | 0.359654 66 | 0.356714 44 | 0.354778 67 | 0.353168 45 | 0.350054 68 | 0.349693 3 | 0.349116 69 | 0.346285 46 | 0.345476 70 | 0.342942 47 | 0.341034 71 | 0.339663 48 | 0.336722 72 | 0.336444 73 | 0.333283 74 | 0.330179 75 | 0.32713 76 | 0.324133 77 | 0.321188 78 | 0.318291 79 | 0.315443 80 | 0.312641 81 | 0.309883 82 | 0.307169 83 | 0.304497 1 | 0.302346 201 | 0.302346 84 | 0.301866 (85 rows) SET smlar.tf_method = "const"; SET smlar.idf_plus_one = off; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.870583 9 | 0.858716 12 | 0.766621 8 | 0.725108 13 | 0.681623 14 | 0.611081 7 | 0.599535 15 | 0.551777 16 | 0.501358 6 | 0.482432 17 | 0.458069 18 | 0.420577 19 | 0.387851 5 | 0.374337 20 | 0.359086 21 | 0.333644 22 | 0.311011 (18 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s ----+---------- 50 | 0.306545 49 | 0.306482 (2 rows) SET smlar.tf_method = "const"; SET smlar.idf_plus_one = on; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.951679 9 | 0.946916 12 | 0.909452 8 | 0.891104 13 | 0.872126 14 | 0.83881 7 | 0.83201 15 | 0.808827 16 | 0.781649 6 | 0.768873 17 | 0.756858 18 | 0.734118 19 | 0.713158 5 | 0.700594 20 | 0.693752 21 | 0.675714 22 | 0.658886 23 | 0.643138 24 | 0.628355 4 | 0.625485 25 | 0.61444 26 | 0.60131 27 | 0.58889 28 | 0.577119 29 | 0.565939 30 | 0.5553 31 | 0.54516 3 | 0.5407 32 | 0.535479 33 | 0.526223 34 | 0.517359 35 | 0.50886 36 | 0.5007 37 | 0.492857 38 | 0.48531 39 | 0.478039 40 | 0.471027 41 | 0.464259 42 | 0.45772 43 | 0.451396 44 | 0.445276 2 | 0.440679 45 | 0.439348 46 | 0.433601 47 | 0.428026 48 | 0.422615 49 | 0.417358 50 | 0.413885 51 | 0.408856 52 | 0.403962 53 | 0.399199 54 | 0.394558 55 | 0.390035 56 | 0.385625 57 | 0.381322 58 | 0.377121 59 | 0.373019 60 | 0.369012 61 | 0.365094 62 | 0.361263 63 | 0.357515 64 | 0.353847 65 | 0.350256 66 | 0.346738 67 | 0.343291 68 | 0.339913 69 | 0.336601 70 | 0.333351 71 | 0.330163 72 | 0.327034 73 | 0.323962 74 | 0.320945 75 | 0.317981 76 | 0.315068 77 | 0.312205 1 | 0.311044 78 | 0.30939 79 | 0.306621 80 | 0.303897 81 | 0.301217 (81 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s -----+---------- 8 | 0.759109 9 | 0.714367 7 | 0.694063 10 | 0.676445 11 | 0.643758 6 | 0.623275 12 | 0.615194 13 | 0.589945 14 | 0.567409 15 | 0.547127 5 | 0.544812 16 | 0.528742 17 | 0.511973 18 | 0.496591 19 | 0.482412 20 | 0.469285 21 | 0.457083 4 | 0.45545 22 | 0.4457 23 | 0.435047 2 | 0.428355 50 | 0.425793 24 | 0.425047 51 | 0.420619 33 | 0.419273 25 | 0.415635 52 | 0.415585 34 | 0.41221 53 | 0.410684 26 | 0.406753 54 | 0.40591 35 | 0.405439 55 | 0.401257 36 | 0.398938 27 | 0.398352 56 | 0.39672 37 | 0.392689 57 | 0.392293 28 | 0.390389 49 | 0.390116 58 | 0.387972 38 | 0.386675 59 | 0.383752 29 | 0.382826 39 | 0.380882 60 | 0.379628 30 | 0.37563 61 | 0.375598 40 | 0.375295 62 | 0.371657 41 | 0.369903 31 | 0.368771 63 | 0.367801 42 | 0.364692 64 | 0.364028 32 | 0.362222 65 | 0.360333 43 | 0.359654 66 | 0.356714 44 | 0.354778 67 | 0.353168 45 | 0.350054 68 | 0.349693 3 | 0.349116 69 | 0.346285 46 | 0.345476 70 | 0.342942 47 | 0.341034 71 | 0.339663 48 | 0.336722 72 | 0.336444 73 | 0.333283 74 | 0.330179 75 | 0.32713 76 | 0.324133 77 | 0.321188 78 | 0.318291 79 | 0.315443 80 | 0.312641 81 | 0.309883 82 | 0.307169 83 | 0.304497 1 | 0.302346 201 | 0.302346 84 | 0.301866 (85 rows) CREATE INDEX idx_test_text ON test_text USING gist (v _text_sml_ops); SET enable_seqscan = off; SET smlar.tf_method = "n"; SET smlar.idf_plus_one = off; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.870583 9 | 0.858716 12 | 0.766621 8 | 0.725108 13 | 0.681623 14 | 0.611081 7 | 0.599535 15 | 0.551777 16 | 0.501358 6 | 0.482432 17 | 0.458069 18 | 0.420577 19 | 0.387851 5 | 0.374337 20 | 0.359086 21 | 0.333644 22 | 0.311011 (18 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s ----+---------- 50 | 0.306753 49 | 0.306482 (2 rows) SET smlar.tf_method = "n"; SET smlar.idf_plus_one = on; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ---------- 0.997241 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.951679 9 | 0.946916 12 | 0.909452 8 | 0.891104 13 | 0.872126 14 | 0.83881 7 | 0.83201 15 | 0.808827 16 | 0.781649 6 | 0.768873 17 | 0.756858 18 | 0.734118 19 | 0.713158 5 | 0.700594 20 | 0.693752 21 | 0.675714 22 | 0.658886 23 | 0.643138 24 | 0.628355 4 | 0.625485 25 | 0.61444 26 | 0.60131 27 | 0.58889 28 | 0.577119 29 | 0.565939 30 | 0.5553 31 | 0.54516 3 | 0.5407 32 | 0.535479 33 | 0.526223 34 | 0.517359 35 | 0.50886 36 | 0.5007 37 | 0.492857 38 | 0.48531 39 | 0.478039 40 | 0.471027 41 | 0.464259 42 | 0.45772 43 | 0.451396 44 | 0.445276 2 | 0.440679 45 | 0.439348 46 | 0.433601 47 | 0.428026 48 | 0.422615 49 | 0.417358 50 | 0.398379 51 | 0.394635 52 | 0.390962 53 | 0.387358 54 | 0.38382 55 | 0.380346 56 | 0.376933 57 | 0.373581 58 | 0.370286 60 | 0.369012 59 | 0.367048 61 | 0.365094 62 | 0.361263 63 | 0.357515 64 | 0.353847 65 | 0.350256 66 | 0.346738 67 | 0.343291 68 | 0.339913 69 | 0.336601 70 | 0.333351 71 | 0.330163 72 | 0.327034 73 | 0.323962 74 | 0.320945 75 | 0.317981 76 | 0.315068 77 | 0.312205 1 | 0.311044 78 | 0.30939 79 | 0.306621 80 | 0.303897 81 | 0.301217 (81 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s -----+---------- 8 | 0.759109 9 | 0.714367 7 | 0.694063 10 | 0.676445 11 | 0.643758 6 | 0.623275 12 | 0.615194 13 | 0.589945 14 | 0.567409 15 | 0.547127 5 | 0.544812 16 | 0.528742 17 | 0.511973 50 | 0.510326 51 | 0.50553 52 | 0.500825 18 | 0.496591 53 | 0.496208 54 | 0.491676 55 | 0.487225 56 | 0.482854 19 | 0.482412 57 | 0.47856 58 | 0.47434 59 | 0.470191 20 | 0.469285 21 | 0.457083 4 | 0.45545 22 | 0.4457 23 | 0.435047 2 | 0.428355 24 | 0.425047 33 | 0.419273 25 | 0.415635 34 | 0.41221 26 | 0.406753 35 | 0.405439 36 | 0.398938 27 | 0.398352 37 | 0.392689 28 | 0.390389 49 | 0.390116 38 | 0.386675 29 | 0.382826 39 | 0.380882 60 | 0.379628 30 | 0.37563 61 | 0.375598 40 | 0.375295 62 | 0.371657 41 | 0.369903 31 | 0.368771 63 | 0.367801 42 | 0.364692 64 | 0.364028 32 | 0.362222 65 | 0.360333 43 | 0.359654 66 | 0.356714 44 | 0.354778 67 | 0.353168 45 | 0.350054 68 | 0.349693 3 | 0.349116 69 | 0.346285 46 | 0.345476 70 | 0.342942 47 | 0.341034 71 | 0.339663 48 | 0.336722 72 | 0.336444 73 | 0.333283 74 | 0.330179 75 | 0.32713 76 | 0.324133 77 | 0.321188 78 | 0.318291 79 | 0.315443 80 | 0.312641 81 | 0.309883 82 | 0.307169 83 | 0.304497 1 | 0.302346 201 | 0.302346 84 | 0.301866 (85 rows) SET smlar.tf_method = "log"; SET smlar.idf_plus_one = off; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.870583 9 | 0.858716 12 | 0.766621 8 | 0.725108 13 | 0.681623 14 | 0.611081 7 | 0.599535 15 | 0.551777 16 | 0.501358 6 | 0.482432 17 | 0.458069 18 | 0.420577 19 | 0.387851 5 | 0.374337 20 | 0.359086 21 | 0.333644 22 | 0.311011 (18 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s ----+---------- 50 | 0.306662 49 | 0.306482 (2 rows) SET smlar.tf_method = "log"; SET smlar.idf_plus_one = on; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ---------- 0.999075 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.951679 9 | 0.946916 12 | 0.909452 8 | 0.891104 13 | 0.872126 14 | 0.83881 7 | 0.83201 15 | 0.808827 16 | 0.781649 6 | 0.768873 17 | 0.756858 18 | 0.734118 19 | 0.713158 5 | 0.700594 20 | 0.693752 21 | 0.675714 22 | 0.658886 23 | 0.643138 24 | 0.628355 4 | 0.625485 25 | 0.61444 26 | 0.60131 27 | 0.58889 28 | 0.577119 29 | 0.565939 30 | 0.5553 31 | 0.54516 3 | 0.5407 32 | 0.535479 33 | 0.526223 34 | 0.517359 35 | 0.50886 36 | 0.5007 37 | 0.492857 38 | 0.48531 39 | 0.478039 40 | 0.471027 41 | 0.464259 42 | 0.45772 43 | 0.451396 44 | 0.445276 2 | 0.440679 45 | 0.439348 46 | 0.433601 47 | 0.428026 48 | 0.422615 50 | 0.419425 49 | 0.417358 51 | 0.41482 52 | 0.410324 53 | 0.405932 54 | 0.40164 55 | 0.397443 56 | 0.393339 57 | 0.389323 58 | 0.385391 59 | 0.381541 60 | 0.369012 61 | 0.365094 62 | 0.361263 63 | 0.357515 64 | 0.353847 65 | 0.350256 66 | 0.346738 67 | 0.343291 68 | 0.339913 69 | 0.336601 70 | 0.333351 71 | 0.330163 72 | 0.327034 73 | 0.323962 74 | 0.320945 75 | 0.317981 76 | 0.315068 77 | 0.312205 1 | 0.311044 78 | 0.30939 79 | 0.306621 80 | 0.303897 81 | 0.301217 (81 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s -----+---------- 8 | 0.759109 9 | 0.714367 7 | 0.694063 10 | 0.676445 11 | 0.643758 6 | 0.623275 12 | 0.615194 13 | 0.589945 14 | 0.567409 15 | 0.547127 5 | 0.544812 16 | 0.528742 17 | 0.511973 18 | 0.496591 19 | 0.482412 50 | 0.481241 51 | 0.475957 52 | 0.470799 20 | 0.469285 53 | 0.465759 54 | 0.460835 21 | 0.457083 55 | 0.45602 4 | 0.45545 56 | 0.45131 57 | 0.446702 22 | 0.4457 58 | 0.442191 59 | 0.437774 23 | 0.435047 2 | 0.428355 24 | 0.425047 33 | 0.419273 25 | 0.415635 34 | 0.41221 26 | 0.406753 35 | 0.405439 36 | 0.398938 27 | 0.398352 37 | 0.392689 28 | 0.390389 49 | 0.390116 38 | 0.386675 29 | 0.382826 39 | 0.380882 60 | 0.379628 30 | 0.37563 61 | 0.375598 40 | 0.375295 62 | 0.371657 41 | 0.369903 31 | 0.368771 63 | 0.367801 42 | 0.364692 64 | 0.364028 32 | 0.362222 65 | 0.360333 43 | 0.359654 66 | 0.356714 44 | 0.354778 67 | 0.353168 45 | 0.350054 68 | 0.349693 3 | 0.349116 69 | 0.346285 46 | 0.345476 70 | 0.342942 47 | 0.341034 71 | 0.339663 48 | 0.336722 72 | 0.336444 73 | 0.333283 74 | 0.330179 75 | 0.32713 76 | 0.324133 77 | 0.321188 78 | 0.318291 79 | 0.315443 80 | 0.312641 81 | 0.309883 82 | 0.307169 83 | 0.304497 1 | 0.302346 201 | 0.302346 84 | 0.301866 (85 rows) SET smlar.tf_method = "const"; SET smlar.idf_plus_one = off; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.870583 9 | 0.858716 12 | 0.766621 8 | 0.725108 13 | 0.681623 14 | 0.611081 7 | 0.599535 15 | 0.551777 16 | 0.501358 6 | 0.482432 17 | 0.458069 18 | 0.420577 19 | 0.387851 5 | 0.374337 20 | 0.359086 21 | 0.333644 22 | 0.311011 (18 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s ----+---------- 50 | 0.306545 49 | 0.306482 (2 rows) SET smlar.tf_method = "const"; SET smlar.idf_plus_one = on; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.951679 9 | 0.946916 12 | 0.909452 8 | 0.891104 13 | 0.872126 14 | 0.83881 7 | 0.83201 15 | 0.808827 16 | 0.781649 6 | 0.768873 17 | 0.756858 18 | 0.734118 19 | 0.713158 5 | 0.700594 20 | 0.693752 21 | 0.675714 22 | 0.658886 23 | 0.643138 24 | 0.628355 4 | 0.625485 25 | 0.61444 26 | 0.60131 27 | 0.58889 28 | 0.577119 29 | 0.565939 30 | 0.5553 31 | 0.54516 3 | 0.5407 32 | 0.535479 33 | 0.526223 34 | 0.517359 35 | 0.50886 36 | 0.5007 37 | 0.492857 38 | 0.48531 39 | 0.478039 40 | 0.471027 41 | 0.464259 42 | 0.45772 43 | 0.451396 44 | 0.445276 2 | 0.440679 45 | 0.439348 46 | 0.433601 47 | 0.428026 48 | 0.422615 49 | 0.417358 50 | 0.413885 51 | 0.408856 52 | 0.403962 53 | 0.399199 54 | 0.394558 55 | 0.390035 56 | 0.385625 57 | 0.381322 58 | 0.377121 59 | 0.373019 60 | 0.369012 61 | 0.365094 62 | 0.361263 63 | 0.357515 64 | 0.353847 65 | 0.350256 66 | 0.346738 67 | 0.343291 68 | 0.339913 69 | 0.336601 70 | 0.333351 71 | 0.330163 72 | 0.327034 73 | 0.323962 74 | 0.320945 75 | 0.317981 76 | 0.315068 77 | 0.312205 1 | 0.311044 78 | 0.30939 79 | 0.306621 80 | 0.303897 81 | 0.301217 (81 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s -----+---------- 8 | 0.759109 9 | 0.714367 7 | 0.694063 10 | 0.676445 11 | 0.643758 6 | 0.623275 12 | 0.615194 13 | 0.589945 14 | 0.567409 15 | 0.547127 5 | 0.544812 16 | 0.528742 17 | 0.511973 18 | 0.496591 19 | 0.482412 20 | 0.469285 21 | 0.457083 4 | 0.45545 22 | 0.4457 23 | 0.435047 2 | 0.428355 50 | 0.425793 24 | 0.425047 51 | 0.420619 33 | 0.419273 25 | 0.415635 52 | 0.415585 34 | 0.41221 53 | 0.410684 26 | 0.406753 54 | 0.40591 35 | 0.405439 55 | 0.401257 36 | 0.398938 27 | 0.398352 56 | 0.39672 37 | 0.392689 57 | 0.392293 28 | 0.390389 49 | 0.390116 58 | 0.387972 38 | 0.386675 59 | 0.383752 29 | 0.382826 39 | 0.380882 60 | 0.379628 30 | 0.37563 61 | 0.375598 40 | 0.375295 62 | 0.371657 41 | 0.369903 31 | 0.368771 63 | 0.367801 42 | 0.364692 64 | 0.364028 32 | 0.362222 65 | 0.360333 43 | 0.359654 66 | 0.356714 44 | 0.354778 67 | 0.353168 45 | 0.350054 68 | 0.349693 3 | 0.349116 69 | 0.346285 46 | 0.345476 70 | 0.342942 47 | 0.341034 71 | 0.339663 48 | 0.336722 72 | 0.336444 73 | 0.333283 74 | 0.330179 75 | 0.32713 76 | 0.324133 77 | 0.321188 78 | 0.318291 79 | 0.315443 80 | 0.312641 81 | 0.309883 82 | 0.307169 83 | 0.304497 1 | 0.302346 201 | 0.302346 84 | 0.301866 (85 rows) DROP INDEX idx_test_text; CREATE INDEX idx_test_text ON test_text USING gin (v _text_sml_ops); SET enable_seqscan = off; SET smlar.tf_method = "n"; SET smlar.idf_plus_one = off; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; ERROR: GIN supports only smlar.tf_method = "const" SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; ERROR: GIN supports only smlar.tf_method = "const" SET smlar.tf_method = "n"; SET smlar.idf_plus_one = on; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ---------- 0.997241 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; ERROR: GIN supports only smlar.tf_method = "const" SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; ERROR: GIN supports only smlar.tf_method = "const" SET smlar.tf_method = "log"; SET smlar.idf_plus_one = off; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; ERROR: GIN supports only smlar.tf_method = "const" SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; ERROR: GIN supports only smlar.tf_method = "const" SET smlar.tf_method = "log"; SET smlar.idf_plus_one = on; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ---------- 0.999075 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; ERROR: GIN supports only smlar.tf_method = "const" SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; ERROR: GIN supports only smlar.tf_method = "const" SET smlar.tf_method = "const"; SET smlar.idf_plus_one = off; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.870583 9 | 0.858716 12 | 0.766621 8 | 0.725108 13 | 0.681623 14 | 0.611081 7 | 0.599535 15 | 0.551777 16 | 0.501358 6 | 0.482432 17 | 0.458069 18 | 0.420577 19 | 0.387851 5 | 0.374337 20 | 0.359086 21 | 0.333644 22 | 0.311011 (18 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s ----+---------- 50 | 0.306545 49 | 0.306482 (2 rows) SET smlar.tf_method = "const"; SET smlar.idf_plus_one = on; SELECT smlar('{199,199,199,199,1}', '{199,1}'::text[]); smlar ------- 1 (1 row) SELECT t, smlar(v, '{10,9,8,7,6,5,4,3,2,1}') AS s FROM test_text WHERE v % '{10,9,8,7,6,5,4,3,2,1}' ORDER BY s DESC, t; t | s ----+---------- 10 | 1 11 | 0.951679 9 | 0.946916 12 | 0.909452 8 | 0.891104 13 | 0.872126 14 | 0.83881 7 | 0.83201 15 | 0.808827 16 | 0.781649 6 | 0.768873 17 | 0.756858 18 | 0.734118 19 | 0.713158 5 | 0.700594 20 | 0.693752 21 | 0.675714 22 | 0.658886 23 | 0.643138 24 | 0.628355 4 | 0.625485 25 | 0.61444 26 | 0.60131 27 | 0.58889 28 | 0.577119 29 | 0.565939 30 | 0.5553 31 | 0.54516 3 | 0.5407 32 | 0.535479 33 | 0.526223 34 | 0.517359 35 | 0.50886 36 | 0.5007 37 | 0.492857 38 | 0.48531 39 | 0.478039 40 | 0.471027 41 | 0.464259 42 | 0.45772 43 | 0.451396 44 | 0.445276 2 | 0.440679 45 | 0.439348 46 | 0.433601 47 | 0.428026 48 | 0.422615 49 | 0.417358 50 | 0.413885 51 | 0.408856 52 | 0.403962 53 | 0.399199 54 | 0.394558 55 | 0.390035 56 | 0.385625 57 | 0.381322 58 | 0.377121 59 | 0.373019 60 | 0.369012 61 | 0.365094 62 | 0.361263 63 | 0.357515 64 | 0.353847 65 | 0.350256 66 | 0.346738 67 | 0.343291 68 | 0.339913 69 | 0.336601 70 | 0.333351 71 | 0.330163 72 | 0.327034 73 | 0.323962 74 | 0.320945 75 | 0.317981 76 | 0.315068 77 | 0.312205 1 | 0.311044 78 | 0.30939 79 | 0.306621 80 | 0.303897 81 | 0.301217 (81 rows) SELECT t, smlar(v, '{50,49,8,7,6,5,4,33,2,1}') AS s FROM test_text WHERE v % '{50,49,8,7,6,5,4,33,2,1}' ORDER BY s DESC, t; t | s -----+---------- 8 | 0.759109 9 | 0.714367 7 | 0.694063 10 | 0.676445 11 | 0.643758 6 | 0.623275 12 | 0.615194 13 | 0.589945 14 | 0.567409 15 | 0.547127 5 | 0.544812 16 | 0.528742 17 | 0.511973 18 | 0.496591 19 | 0.482412 20 | 0.469285 21 | 0.457083 4 | 0.45545 22 | 0.4457 23 | 0.435047 2 | 0.428355 50 | 0.425793 24 | 0.425047 51 | 0.420619 33 | 0.419273 25 | 0.415635 52 | 0.415585 34 | 0.41221 53 | 0.410684 26 | 0.406753 54 | 0.40591 35 | 0.405439 55 | 0.401257 36 | 0.398938 27 | 0.398352 56 | 0.39672 37 | 0.392689 57 | 0.392293 28 | 0.390389 49 | 0.390116 58 | 0.387972 38 | 0.386675 59 | 0.383752 29 | 0.382826 39 | 0.380882 60 | 0.379628 30 | 0.37563 61 | 0.375598 40 | 0.375295 62 | 0.371657 41 | 0.369903 31 | 0.368771 63 | 0.367801 42 | 0.364692 64 | 0.364028 32 | 0.362222 65 | 0.360333 43 | 0.359654 66 | 0.356714 44 | 0.354778 67 | 0.353168 45 | 0.350054 68 | 0.349693 3 | 0.349116 69 | 0.346285 46 | 0.345476 70 | 0.342942 47 | 0.341034 71 | 0.339663 48 | 0.336722 72 | 0.336444 73 | 0.333283 74 | 0.330179 75 | 0.32713 76 | 0.324133 77 | 0.321188 78 | 0.318291 79 | 0.315443 80 | 0.312641 81 | 0.309883 82 | 0.307169 83 | 0.304497 1 | 0.302346 201 | 0.302346 84 | 0.301866 (85 rows) RESET enable_seqscan;