summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/attribute
Commit message (Collapse)AuthorAgeFilesLines
* tag blueprints with strictnessHåvard Pettersen2024-03-2010-50/+53
| | | | | | 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.
* Move normalize_class_name to vespalib.Tor Egge2024-03-141-23/+2
|
* Merge pull request #30583 from ↵Tor Egge2024-03-122-122/+78
|\ | | | | | | | | vespa-engine/toregge/rewrite-searchlib-source-selector-unit-test-to-gtest Rewrite searchlib source selector unit test to gtest.
| * Test extra initialized element in source selector.Tor Egge2024-03-121-1/+7
| |
| * Rewrite searchlib source selector unit test to gtest.Tor Egge2024-03-122-122/+72
| |
* | Merge pull request #30582 from ↵Geir Storli2024-03-122-27/+16
|\ \ | | | | | | | | | | | | vespa-engine/toregge/rewrite-searchlib-attribute-posting-list-unit-test-to-gtest Rewrite searchlib attribute posting list unit test to gtest.
| * | Rewrite searchlib attribute posting list unit test to gtest.Tor Egge2024-03-112-27/+16
| |/
* / Rewrite searchlib AttributeGuard unit test to gtest.Tor Egge2024-03-112-17/+4
|/
* Fix valgrind error in attribute bitvector unit test.Tor Egge2024-02-191-0/+12
|
* Merge pull request #30310 from ↵Geir Storli2024-02-191-179/+111
|\ | | | | | | | | vespa-engine/toregge/rewrite-attribute-search-context-unit-test-to-gtest Rewrite attribute search context unit test to gtest.
| * Rewrite attribute search context unit test to gtest.Tor Egge2024-02-181-179/+111
| |
* | Add override for destructor.Tor Egge2024-02-181-1/+1
| |
* | Rewrite attribute bitvector unit test to gtest.Tor Egge2024-02-181-86/+55
|/
* Check buffer size when loading predicate attribute.Tor Egge2024-02-161-12/+62
|
* Style fixes for predicate attribute unit test.Tor Egge2024-02-161-10/+4
|
* Add predicate attribute unit test.Tor Egge2024-02-152-0/+130
|
* Tag hit estimates from attribute search contexts as unknown when applicable.Geir Storli2024-02-023-13/+51
|
* 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.
* 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.
* Revert "Support IDocidWithWeightPostingStore for more attribute data types."Henning Baldersheim2024-01-222-7/+4
|
* Support IDocidWithWeightPostingStore for more attribute data types.Geir Storli2024-01-222-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.
* Support hash filter iterator in DirectMultiTermBlueprint.Geir Storli2024-01-191-27/+69
| | | | | This is used in some non-strict cases, and should improve IN operator performance: https://github.com/vespa-engine/system-test/tree/master/tests/performance/in_operator.
* Merge pull request #29964 from ↵Tor Egge2024-01-181-1/+1
|\ | | | | | | | | vespa-engine/vekterli/use-string-view-for-non-dict-match Use `string_view` for standalone DFA fuzzy match function
| * Use `string_view` for standalone DFA fuzzy match functionTor Brede Vekterli2024-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to allow for matching non-zero terminated strings, which will be needed if we are to support fuzzy matching of streaming tokenized terms. Note that the underlying DFA API already takes in a string_view, so this is just moving an implicit `strlen` one step higher in the stack. This will pull the string data into the CPU cache ever so slightly earlier than before, but this is not expected to matter in practice since the data will be used immediately after anyway. Added explicit `string_view` instantiations at the call sites to make implicit `strlen` more obviously visible than they currently are with implicit type conversions from `const char*`. Also adds a utility constructor to hide default underlying DFA implementation.
* | Stop using MultiTermOrFilterSearch for InTerm and WeightedSetTerm.Geir Storli2024-01-181-13/+23
|/ | | | | | | Benchmarking the IN operator (https://github.com/vespa-engine/system-test/tree/master/tests/performance/in_operator) has shown that the heap-based implementation in WeightedSetTermSearchImpl is on par when having fewer than 10 tokens/terms, and significantly better the more tokens/terms the operator contains.
* Support the IN query operator in DirectMultiTermBlueprint.Geir Storli2024-01-051-31/+83
|
* Add testing of IDocidPostingStore for single value attributes.Geir Storli2024-01-041-86/+152
|
* Rewrite unit tests to GTest.Geir Storli2024-01-032-59/+65
|
* Don't include multistringpostattribute.hpp in unit test.Tor Egge2024-01-021-1/+1
|
* Merge branch 'master' into balder/gc-unused-feature-flagsHenning Baldersheim2023-12-208-21/+27
|\
| * Align naming of test and iterator for low-level posting list access.Geir Storli2023-12-197-20/+20
| |
| * Support TermFieldMatchData where doUnpack() sets docid.Geir Storli2023-12-191-1/+7
| | | | | | | | This will be needed for an InTerm used for ranking, e.g. the matches rank feature.
* | GC unused feature flags related to rollout of multithreaded fetch postings ↵Henning Baldersheim2023-12-191-1/+1
|/ | | | and using estimate instead of est_hits.
* Rename DocumentWeightOrFilterSearch to MultiTermOrFilterSearch.Geir Storli2023-12-184-34/+34
|
* Better naming and simpler code.Henning Baldersheim2023-12-152-2/+2
|
* - Add a doom that will not expire until it does not matter anymore.Henning Baldersheim2023-12-152-19/+15
| | | | | - Doom can never be null. - Wire doom into fillBitVector. Using it will be a separate PR.
* Simplify after code review.Geir Storli2023-12-141-1/+1
|
* Support direct posting store API for single string attribute.Geir Storli2023-12-141-42/+85
|
* Merge pull request #29639 from ↵Geir Storli2023-12-131-21/+42
|\ | | | | | | | | vespa-engine/geirst/direct-posting-store-single-integer-attributes Support direct posting store API for single integer attributes.
| * Support direct posting store API for single integer attributes.Geir Storli2023-12-131-21/+42
| |
* | Merge pull request #29634 from ↵Henning Baldersheim2023-12-132-5/+5
|\ \ | | | | | | | | | | | | vespa-engine/balder/make-it-build-without-optimization - Add some more extern templates to enable code to build with -O0.
| * | - Add some more extern templates to enable code to build with -O0.Henning Baldersheim2023-12-132-5/+5
| |/ | | | | | | - Add some more noexcept.
* | Merge pull request #29630 from ↵Henning Baldersheim2023-12-131-9/+31
|\ \ | |/ |/| | | | | vespa-engine/balder/use-thread-bundle-for-range-fetchpostings Balder/use thread bundle for range fetchpostings
| * Use provided thread bundle to compute effective range in parallel.Henning Baldersheim2023-12-121-9/+31
| |
* | Prepare for running with different attribute types.Geir Storli2023-12-121-16/+31
|/
* Generalize DirectMultiTermBlueprint for different direct posting store types.Geir Storli2023-12-121-1/+1
|
* Handle combination of both weight iterators and bitvectors in ↵Geir Storli2023-11-302-0/+265
| | | | | | | | DirectMultiTermBlueprint. This does not change how InTerm, WeightedSetTerm and DotProduct currently uses this blueprint. They still require that weight iterators are available for all terms / tokens, but this will soon be relaxed for InTerm and WeightedSetTerm.
* Create weighted set blueprints for InTerm.Tor Egge2023-11-272-0/+51
|
* Prepare for direct btree posting list iterators with only docids.Geir Storli2023-11-271-1/+1
|
* Rename DocumentWeightIterator to DocidWithWeightIterator.Geir Storli2023-11-231-2/+2
|