summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #30266 from ↵v8.305.17Geir Storli2024-02-141-5/+15
|\ | | | | | | | | vespa-engine/toregge/add-data-buffer-buffer-writer Add search::DataBufferWriter.
| * Add search::DataBufferWriter.Tor Egge2024-02-141-5/+15
| | | | | | | | | | Add search::predicate::DocumentFeatureStoreSaver. Use search::BufferWriter API when saving document feature store.
* | Merge pull request #30263 from ↵Geir Storli2024-02-141-7/+10
|\ \ | |/ |/| | | | | vespa-engine/havardpe/baseline-flow-stats-for-complex-leafs baseline flow stats for complex leafs
| * baseline flow stats for complex leafsHåvard Pettersen2024-02-131-7/+10
| |
* | Merge pull request #30260 from ↵Tor Egge2024-02-131-7/+7
|\ \ | |/ |/| | | | | vespa-engine/toregge/use-array-store-in-search-predicate-document-features-store Use array store in search::predicate::DocumentFeaturesStore.
| * Use array store in search::predicate::DocumentFeaturesStore.Tor Egge2024-02-131-7/+7
| |
* | Merge pull request #30255 from vespa-engine/geirst/extend-iterator-benchmarkGeir Storli2024-02-131-46/+79
|\ \ | |/ |/| Extend search iterator benchmark program
| * Use search iterator class name directly.Geir Storli2024-02-131-13/+2
| |
| * Add name of the search iterator in a benchmark result.Geir Storli2024-02-131-6/+19
| |
| * Support AND operator and reduce the time for populating attributes.Geir Storli2024-02-131-41/+72
| |
* | Merge pull request #30243 from vespa-engine/havardpe/better-or-flow-statsGeir Storli2024-02-132-103/+100
|\ \ | |/ |/| account for heap cost in strict OR
| * account for heap cost in strict ORHåvard Pettersen2024-02-122-103/+100
| | | | | | | | | | | | | | | | - make it easier to do flow analysis directly on FlowStats - use FlowStats in tests (less custom test code) - added flow_tuning.h for special sauce - strict flow must now have in-flow of 1.0 - split low-level flow tests into full/partial
* | Add extra logging when saving predicate attribute.Tor Egge2024-02-122-3/+6
|/
* Merge pull request #30229 from ↵Henning Baldersheim2024-02-093-5/+224
|\ | | | | | | | | vespa-engine/toregge/handle-equiv-query-node-as-a-leaf-in-streaming-query-tree Handle search::streaming::EquivQueryNode as a leaf in the query tree.
| * Use constexpr variables to make code somewhat readable.Tor Egge2024-02-091-30/+58
| |
| * Handle search::streaming::EquivQueryNode as a leaf in the query tree.Tor Egge2024-02-093-5/+196
| |
* | Merge pull request #30232 from vespa-engine/havardpe/more-insightHåvard Pettersen2024-02-091-5/+50
|\ \ | |/ |/| benchmark effect of being strict in a non-strict context
| * benchmark effect of being strict in a non-strict contextHåvard Pettersen2024-02-091-5/+50
| |
* | - Complete dumping of 1 index field before progressing to the next.Henning Baldersheim2024-02-083-95/+91
|/ | | | | - This prevents allocating memory buffers, and file descriptors for all fields concurrently. - It will reduce memory footprint during flush if there are many fields.
* Add low-level benchmark program for search iterators.Geir Storli2024-02-082-0/+406
| | | | | Currently, it can benchmark the following query operators over an attribute vector: Single term, In, WeightedSet, DotProduct, Or.
* Merge pull request #30211 from vespa-engine/havardpe/more-benchmarkingv8.301.19Geir Storli2024-02-071-27/+129
|\ | | | | benchmark non-strict iterators
| * benchmark non-strict iteratorsHåvard Pettersen2024-02-071-27/+129
| | | | | | | | | | measure ns per seek also calculate experimental flow stats and calculate ms per cost
* | Track number of active nodes in hnsw graph.Tor Egge2024-02-072-2/+46
|/
* Merge pull request #30199 from vespa-engine/havardpe/explicit-flow-defaultsGeir Storli2024-02-066-0/+19
|\ | | | | make default flow stats more explicit
| * make default flow stats more explicitHåvard Pettersen2024-02-066-0/+19
| | | | | | | | | | | | for both simple and complex leafs account for number of inner children in complex leafs account for seek nesting for complex leafs with children
* | Handle search::streaming::PhraseQueryNode as a leaf in the query tree.Tor Egge2024-02-062-23/+14
|/
* Merge pull request #30179 from ↵Tor Egge2024-02-051-12/+3
|\ | | | | | | | | vespa-engine/toregge/add-unpack-match-data-member-function-to-search-streaming-queryterm Add unpack_match_data member function to search::streaming::QueryTerm.
| * Add unpack_match_data member function to search::streaming::QueryTerm.Tor Egge2024-02-051-12/+3
| |
* | adjust strict OR flowHåvard Pettersen2024-02-052-15/+14
|/ | | | | | | A simple heap-based strict OR is not able to benefit from short circuiting of the per-document evaluation. An 'optimal' strict OR would need more book-keeping and would probably be slower than the simple implementation in most normal cases.
* Merge pull request #30140 from ↵Geir Storli2024-02-053-14/+15
|\ | | | | | | | | vespa-engine/havardpe/re-wire-flow-stats-calculation re-wire flow stats in blueprints
| * re-wire flow stats in blueprintsHåvard Pettersen2024-02-023-14/+15
| |
* | Merge pull request #30147 from vespa-engine/geirst/unknown-hit-estimateHenning Baldersheim2024-02-023-13/+51
|\ \ | | | | | | Tag hit estimates from attribute search contexts as unknown when appl…
| * | Tag hit estimates from attribute search contexts as unknown when applicable.Geir Storli2024-02-023-13/+51
| | |
* | | Merge pull request #30144 from ↵Geir Storli2024-02-022-6/+5
|\ \ \ | | | | | | | | | | | | | | | | vespa-engine/toregge/change-parent-class-of-search-streaming-phrase-query-node Change parent class of search::streaming::PhraseQueryNode from
| * | | Change parent class of search::streaming::PhraseQueryNode fromTor Egge2024-02-022-6/+5
| |/ / | | | | | | | | | search::streaming::AndQueryNode to search::streaming::MultiTerm.
* / / use heap for strict orHåvard Pettersen2024-02-023-5/+5
|/ /
* / minor adjustments of strict heap ORHåvard Pettersen2024-02-011-6/+14
|/
* Merge pull request #30106 from ↵Arne H Juul2024-02-011-20/+33
|\ | | | | | | | | vespa-engine/arnej/use-GCD-for-distance-rankfeature use greatCircleDistance to compute distance(foo).km
| * use greatCircleDistance to compute distance(foo).kmArne Juul2024-01-301-20/+33
| |
* | simple heap-based strict OR implementationHåvard Pettersen2024-01-311-21/+40
|/
* Merge pull request #30094 from vespa-engine/havardpe/test-strict-or-seek-unpackHenning Baldersheim2024-01-291-20/+90
|\ | | | | test seek and unpacking interactions for strict OR
| * test seek and unpacking interactions for strict ORHåvard Pettersen2024-01-291-20/+90
| |
* | Include algorithm to get declaration of std::sort in folded string compareTor Egge2024-01-291-0/+1
|/ | | | unit test.
* benchmark strict orHåvard Pettersen2024-01-262-0/+248
| | | | | this is in preparation of heap-based OR which will need some extra testing to verify the interactions with unpack info.
* Merge pull request #30042 from ↵Geir Storli2024-01-242-0/+194
|\ | | | | | | | | vespa-engine/toregge/implement-evaluate-for-near-query-node-and-onear-query-node-in-streaming-search Implement search::streaming::NearQueryNode::evaluate() and
| * Reduce code duplication. Fix typos in unit test.Tor Egge2024-01-241-4/+4
| |
| * Implement search::streaming::NearQueryNode::evaluate() andTor Egge2024-01-242-0/+194
| | | | | | | | search::strewaming::ONearQueryNode::evaluate().
* | Support IDocidWithWeightPostingStore for more attribute data types.Geir Storli2024-01-242-4/+7
|/ | | | | | | This includes array types (in addition to weighted set) and all integer types. This change also aligns the blueprint and iterator implementations used for WeightedSetTerm and InTerm, making the performance of WeightedSetTerm more similar to InTerm. In particular an attribute with "rank: filter" uses a more optimal search iterator for WeightedSetTerm.
* Merge pull request #30030 from ↵v8.292.16Geir Storli2024-01-231-29/+0
|\ | | | | | | | | vespa-engine/geirst/remove-single-term-in-wset-optimization Remove optimization for single term searching in wset string/int attr…
| * Remove optimization for single term searching in wset string/int attribute.Geir Storli2024-01-231-29/+0
| | | | | | | | | | | | | | | | The benefits are no longer clear, and direct usage of underlying btree iterators will not work in combination with the sameElement operator, as this requires access to element ids that are unpacked via the attribute::ISearchContext interface. This became clear when extending the attribute types (e.g. array) that give direct access to underlying btree iterators via IDocidWithWeightPostingStore.