aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #30973 from ↵Håvard Pettersen2024-04-191-52/+85
|\ | | | | | | | | vespa-engine/geirst/better-non-strict-cost-estimates-for-btree-iterators Use better non-strict cost estimates for btree and disk index iterators.
| * Use better non-strict cost estimates for btree and disk index iterators.Geir Storli2024-04-191-52/+85
| | | | | | | | | | | | | | | | | | | | | | | | We previously increased the strict cost of heap-based complex blueprints (e.g OR) to avoid the problem of them being forced strict too early. More benchmarking however has shown that its better address the real problem, which is the non-strict cost of btree iterators that are childen of the ORs. Its important that the non-strict cost is most accurate with high inflows (moving towards 1.0), as the time penalty of choosing wrong is at its highest then. This adds additional benchmarks needed for analysis and updates/adjusts the parameters and formulas in flow_tuning.h to match observations.
* | Revert "Revert "Use memory mapped disk index dictionary .ssdat file when large""Tor Egge2024-04-181-16/+36
| |
* | Revert "Use memory mapped disk index dictionary .ssdat file when large"Henning Baldersheim2024-04-181-36/+16
| |
* | Merge pull request #30956 from ↵Henning Baldersheim2024-04-181-1/+1
|\ \ | | | | | | | | | | | | vespa-engine/havardpe/optimize-single-child-vespa-wand optimize weak and with single child
| * | optimize weak and with single childHåvard Pettersen2024-04-171-1/+1
| |/
* | Merge pull request #30958 from ↵Henning Baldersheim2024-04-181-0/+1
|\ \ | | | | | | | | | | | | vespa-engine/toregge/add-variable-length-array-comments Add variable-length array comments.
| * | Add variable-length array comments.Tor Egge2024-04-181-0/+1
| | |
* | | Merge pull request #30934 from ↵Geir Storli2024-04-181-16/+36
|\ \ \ | |/ / |/| | | | | | | | vespa-engine/toregge/use-memory-mapped-disk-index-dictionary-ssdat-file-when-large-and-with-sufficient-padding Use memory mapped disk index dictionary .ssdat file when large
| * | Factor out common code to static member functions is_padded_for_memory_mapTor Egge2024-04-171-5/+5
| | | | | | | | | | | | and file_units.
| * | Use memory mapped disk index dictionary .ssdat file when largeTor Egge2024-04-161-16/+36
| | | | | | | | | | | | and with sufficient padding. This reduces memory usage spikes.
* | | Use correct value for has_single_subspace template param.Henning Baldersheim2024-04-171-1/+3
| | |
* | | - Optimize distance calculation for tensors with single dense subspace.Henning Baldersheim2024-04-164-18/+21
| |/ |/| | | | | | | - Let EmptySubspace be invalid. - Add noexcept to get_tensor(s).
* | Merge pull request #30920 from ↵Geir Storli2024-04-161-1/+1
|\ \ | | | | | | | | | | | | vespa-engine/havardpe/improve-non-strict-and-sorting pass in_flow to intermediate sort functions
| * | pass in_flow to intermediate sort functionsHåvard Pettersen2024-04-151-1/+1
| | | | | | | | | | | | | | | improve non-strict AND sorting by letting allow_force_strict affect ordering.
* | | Merge pull request #30935 from vespa-engine/geirst/adjust-bitvector-strict-costGeir Storli2024-04-162-2/+23
|\ \ \ | |_|/ |/| | Adjust strict cost of bitvector after benchmarking.
| * | Adjust strict cost of bitvector after benchmarking.Geir Storli2024-04-162-2/+23
| | | | | | | | | | | | A bitvector is used to track active lids and is always part of a query.
* | | Add comments about overflows.Tor Egge2024-04-161-0/+20
| | |
* | | Handle disk index dictionary .ssdat file being larger than 32 GiB.Tor Egge2024-04-151-1/+1
| | |
* | | Test disk index dictionary file with many long words.Tor Egge2024-04-153-0/+120
|/ /
* | Adjust strict cost of intermediate / complex leaf blueprints.Geir Storli2024-04-151-9/+19
| | | | | | | | | | | | | | This ensures that AND(filter vs complex) makes a better decision regarding when to force the complex blueprint strict. Reverse hash filter cost is adjusted accordingly.
* | Re-adjust cost model params for IN/weightedSet/dotProduct.Geir Storli2024-04-151-0/+7
| | | | | | | | Only combinations that support reverse hash filter have a cheaper non-strict cost.
* | Merge pull request #30913 from ↵Geir Storli2024-04-158-42/+350
|\ \ | |/ |/| | | | | vespa-engine/geirst/benchmarking-of-intermediate-blueprints Add benchmarking of intermediate blueprints with configurable childre…
| * Add benchmarking of intermediate blueprints with configurable children setups.Geir Storli2024-04-158-42/+350
| | | | | | | | | | | | In particular this adds benchmarking of: * AND(filter, IN (100 children)) * AND(filter, OR (100 children))
* | Remove unused variables.Tor Egge2024-04-151-2/+0
|/
* Merge pull request #30903 from vespa-engine/havardpe/andflow-strictness-reorderGeir Storli2024-04-121-121/+120
|\ | | | | add code to AndFlow that can perform additional incremental reordering
| * add code to AndFlow that can perform additional incremental reorderingHåvard Pettersen2024-04-121-121/+120
| | | | | | | | | | | | | | | | of children based on the future possibility of forcing those children to be strict. update unit test to use code from AndFlow and add tests for non-strict AND ordering as well.
* | Merge pull request #30872 from ↵Geir Storli2024-04-117-56/+119
|\ \ | |/ |/| | | | | vespa-engine/geirst/more-low-level-in-operator-perf-tests Support populating attribute where docid sets matching terms/children…
| * Only 1 default value is supported when using disjunct terms/children.Geir Storli2024-04-111-2/+4
| |
| * Support populating attribute where docid sets matching terms/children are ↵Geir Storli2024-04-107-56/+117
| | | | | | | | | | | | | | | | | | | | disjunct. This also adds testing of IN operator with many tokens (up to 10k), which uses disjunct terms/children. In addition calculation of "alternative cost" is removed, as it doesn't provide any value at the moment.
* | consolidate solutions into a single heuristic algorithmHåvard Pettersen2024-04-101-57/+7
| | | | | | | | use error relative to minimal cost rather than error potential
* | add some comparison slack to improve robustnessHåvard Pettersen2024-04-101-7/+7
|/
* more experimentsHåvard Pettersen2024-04-051-83/+127
| | | | also pruned some of the less promising alternatives
* Merge pull request #30835 from ↵Henning Baldersheim2024-04-051-0/+9
|\ | | | | | | | | vespa-engine/geirst/more-than-64k-child-iterators-for-in-and-weightedset Support more than 64k child iterators for IN and weightedSet.
| * Support more than 64k child iterators for IN and weightedSet.Geir Storli2024-04-051-0/+9
| | | | | | | | | | This adds an iterator pack that uses a uint32_t to address the child iterators instead of the default uint16_t.
* | force strictness where allowed and cheaperHåvard Pettersen2024-04-043-3/+33
|/
* Merge pull request #30786 from ↵Geir Storli2024-04-031-37/+115
|\ | | | | | | | | vespa-engine/havardpe/more-AND-force-strict-experiments more experiments with multi-strict AND sorting
| * more experiments with multi-strict AND sortingHåvard Pettersen2024-04-021-37/+115
| |
* | dump strictness for blueprintsHåvard Pettersen2024-04-023-1/+14
|/
* experiment with allow_force_strictHåvard Pettersen2024-03-271-22/+128
| | | | during sorting and cost calculations
* use thread_local for blueprint optionsHåvard Pettersen2024-03-253-3/+27
|
* find crossoverHåvard Pettersen2024-03-252-4/+151
|
* Add benchmarking of WeakAnd operators.Geir Storli2024-03-225-33/+133
| | | | | Since some blueprints have shared state (e.g. ParallelWeakAndBlueprint), we must re-create the blueprint inside the match loop.
* tag blueprints with strictnessHåvard Pettersen2024-03-2030-420/+552
| | | | | | The strict-aware sort function is responsible for propagating and tagging strictness throughout the blueprint tree. Use pre-tagged strictness in fetchPostings, createSearch and createFilterSearch.
* Merge pull request #30681 from ↵Henning Baldersheim2024-03-198-321/+508
|\ | | | | | | | | vespa-engine/geirst/iterator-benchmark-blueprint-factory Refactor iterator benchmark to have a factory for creating blueprints
| * Add factory for creating a blueprint for a given benchmark setup.Geir Storli2024-03-195-125/+219
| |
| * Move code to build attribute(s) to a separate class.Geir Storli2024-03-196-146/+208
| |
| * Refactor and move common code.Geir Storli2024-03-184-61/+92
| |
* | Change parent class of search::streaming::SameElementQueryNode fromTor Egge2024-03-181-11/+34
|/ | | | search::streaming::AndQueryNode to search:streaming::MultiTerm.
* Use filter settings from rank profiles and query terms in streaming search.Tor Egge2024-03-152-5/+14
|