Skip to content

Releases: k-samuel/faceted-search

2.1.3

05 May 07:43
Compare
Choose a tag to compare

Bug Fix

  • issue#8 Unexpected results. Filters that do not return results are ignored for searching with multiple filters. Reported by satanicman

2.1.2

20 Jan 08:33
Compare
Choose a tag to compare

Bug Fix

2.1.1

10 Jan 22:35
Compare
Choose a tag to compare

Performance update

  • Index Refactoring. Some methods moved from Search into Index
  • FixedArrayIndex performance patches. Index access is faster than "foreach" iteration

PHPBench v2.1.1 ArrayIndex PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~6Mb ~0.0003 s. ~0.002 s. ~0.0001 s. 907
50,000 ~40Mb ~0.001 s. ~0.013 s. ~0.0005 s. 4550
100,000 ~80Mb ~0.003 s. ~0.028 s. ~0.001 s. 8817
300,000 ~189Mb ~0.011 s. ~0.100 s. ~0.004 s. 26891
1,000,000 ~657Mb ~0.047 s. ~0.387 s. ~0.018 s. 90520

PHPBench v2.1.0 ArrayIndex PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~6Mb ~0.0003 s. ~0.002 s. ~0.0001 s. 907
50,000 ~40Mb ~0.001 s. ~0.013 s. ~0.0005 s. 4550
100,000 ~80Mb ~0.003 s. ~0.030 s. ~0.001 s. 8817
300,000 ~189Mb ~0.011 s. ~0.101 s. ~0.005 s. 26891
1,000,000 ~657Mb ~0.049 s. ~0.396 s. ~0.017 s. 90520

PHPBench v2.1.1 FixedArrayIndex PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~2Mb ~0.0007 s. ~0.004 s. ~0.0001 s. 907
50,000 ~12Mb ~0.003 s. ~0.024 s. ~0.0009 s. 4550
100,000 ~23Mb ~0.006 s. ~0.049 s. ~0.001 s. 8817
300,000 ~70Mb ~0.019 s. ~0.151 s. ~0.006 s. 26891
1,000,000 ~233Mb ~0.078 s. ~0.565 s. ~0.024 s. 90520

PHPBench v2.1.0 FixedArrayIndex PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~2Mb ~0.0007 s. ~0.006 s. ~0.0002 s. 907
50,000 ~12Mb ~0.003 s. ~0.027 s. ~0.001 s. 4550
100,000 ~23Mb ~0.006 s. ~0.057 s. ~0.002 s. 8817
300,000 ~70Mb ~0.021 s. ~0.188 s. ~0.007 s. 26891
1,000,000 ~233Mb ~0.080 s. ~0.674 s. ~0.032 s. 90520

2.1.0

06 Jan 13:47
Compare
Choose a tag to compare

Performance update and FixedArrayIndex

FixedArrayIndex is much slower than ArrayIndex but requires significant less memory.

  • FixedArrayIndex added
  • KSamuel\FacetedSearch\Index is deprecated use KSamuel\FacetedSearch\Index\ArrayIndex instead
  • Unit and performance tests for FixedArrayIndex
  • Added sorting of filter fields before processing (performance)
  • Documentation updated

PHPBench v2.1.0 ArrayIndex PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~6Mb ~0.0003 s. ~0.002 s. ~0.0001 s. 907
50,000 ~40Mb ~0.001 s. ~0.013 s. ~0.0005 s. 4550
100,000 ~80Mb ~0.003 s. ~0.030 s. ~0.001 s. 8817
300,000 ~189Mb ~0.011 s. ~0.101 s. ~0.005 s. 26891
1,000,000 ~657Mb ~0.049 s. ~0.396 s. ~0.017 s. 90520

PHPBench v2.1.0 FixedArrayIndex PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~2Mb ~0.0007 s. ~0.006 s. ~0.0002 s. 907
50,000 ~12Mb ~0.003 s. ~0.027 s. ~0.001 s. 4550
100,000 ~23Mb ~0.006 s. ~0.057 s. ~0.002 s. 8817
300,000 ~70Mb ~0.021 s. ~0.188 s. ~0.007 s. 26891
1,000,000 ~233Mb ~0.080 s. ~0.674 s. ~0.032 s. 90520

2.0.3

30 Dec 18:36
Compare
Choose a tag to compare

Performance update

  • Filter\ValueFilter optimizations
  • Sorter\ByField optimizations
  • Search->findRecordsMap optimizations
  • PHPBench tests added

PHPBench v2.0.3 PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~6Mb ~0.0003 s. ~0.002 s. ~0.0001 s. 907
50,000 ~40Mb ~0.001 s. ~0.013 s. ~0.0006 s. 4550
100,000 ~80Mb ~0.003 s. ~0.029 s. ~0.001 s. 8817
300,000 ~189Mb ~0.011 s. ~0.108 s. ~0.005 s. 26891
1,000,000 ~657Mb ~0.052 s. ~0.419 s. ~0.018 s. 90520

Bench v2.0.0 PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~6Mb ~0.0007 s. ~0.004 s. ~0.0005 s. 907
50,000 ~40Mb ~0.002 s. ~0.014 s. ~0.001 s. 4550
100,000 ~80Mb ~0.004 s. ~0.028 s. ~0.001 s. 8817
300,000 ~189Mb ~0.011 s. ~0.104 s. ~0.006 s. 26891
1,000,000 ~657Mb ~0.050 s. ~0.426 s. ~0.030 s. 90520

2.0.2

20 Dec 17:20
Compare
Choose a tag to compare
  • fix for default example of performance tests

2.0.1

16 Dec 20:46
Compare
Choose a tag to compare
  • fix for PHP 8.1 deprecation of indirect floating point conversion in array keys

2.0.0

13 Dec 16:49
Compare
Choose a tag to compare

Performance update

Reduced Index memory usage.
Backward incompatibility, faceted index should be reindex before using new version of library.

Bench v2.0.0 PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~6Mb ~0.0007 s. ~0.004 s. ~0.0005 s. 907
50,000 ~40Mb ~0.002 s. ~0.014 s. ~0.001 s. 4550
100,000 ~80Mb ~0.004 s. ~0.028 s. ~0.001 s. 8817
300,000 ~189Mb ~0.011 s. ~0.104 s. ~0.006 s. 26891
1,000,000 ~657Mb ~0.050 s. ~0.426 s. ~0.030 s. 90520

Bench v1.3.3 PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~7Mb ~0.0007 s. ~0.004 s. ~0.0003 s. 907
50,000 ~49Mb ~0.002 s. ~0.014 s. ~0.0009 s. 4550
100,000 ~98Mb ~0.004 s. ~0.028 s. ~0.002 s. 8817
300,000 ~242Mb ~0.012 s. ~0.112 s. ~0.007 s. 26891
1,000,000 ~812Mb ~0.057 s. ~0.443 s. ~0.034 s. 90520

1.3.4

13 Dec 16:47
Compare
Choose a tag to compare
  • bugfix $search->findAcceptableFilters([],[1,2,3]); returns empty results for empty filters and none empty id list in arguments.
    Thanks to @chrisvidal for reporting.

2.0.0-beta1

11 Dec 10:20
Compare
Choose a tag to compare
2.0.0-beta1 Pre-release
Pre-release

Performance update

Reduced Index memory usage.
Backward incompatibility, faceted index should be reindex before using new version of library.

Bench v2.0.0 PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~6Mb ~0.0007 s. ~0.004 s. ~0.0005 s. 907
50,000 ~40Mb ~0.002 s. ~0.014 s. ~0.001 s. 4550
100,000 ~80Mb ~0.004 s. ~0.028 s. ~0.001 s. 8817
300,000 ~189Mb ~0.011 s. ~0.104 s. ~0.006 s. 26891
1,000,000 ~657Mb ~0.050 s. ~0.426 s. ~0.030 s. 90520

Bench v1.3.3 PHP 8.1.0 + JIT + opcache (no xdebug extension)

Items count Memory Find Get Filters (aggregates) Sort by field Results Found
10,000 ~7Mb ~0.0007 s. ~0.004 s. ~0.0003 s. 907
50,000 ~49Mb ~0.002 s. ~0.014 s. ~0.0009 s. 4550
100,000 ~98Mb ~0.004 s. ~0.028 s. ~0.002 s. 8817
300,000 ~242Mb ~0.012 s. ~0.112 s. ~0.007 s. 26891
1,000,000 ~812Mb ~0.057 s. ~0.443 s. ~0.034 s. 90520