Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Wire fuzzy prefix matching support through the query stack | Tor Brede Vekterli | 2024-04-19 | 1 | -2/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds `prefix:[true|false]` annotation support to the `fuzzy` query operator in the YQL and JSON query languages. Fuzzy prefix matching semantics are wired through to the matcher implementations for both indexed and streaming search. Example usage: {maxEditDistance:1,prefix:true}fuzzy("foo") Will match `foo`, `foobar`, `foxtrot`, `zookeeper` and so on. It can be combined with the existing prefix locking feature: {maxEditDistance:1,prefixLength:2,prefix:true}fuzzy("foo") Which will match `foo`, `foobar`, `foxtrot` etc, but _not_ `zookeeper` since the locked prefix (`fo`) does not match. Due to the complexities involved with extending the legacy binary query stack representation, signalling prefix matching for the fuzzy term is done by pragmatically adding a new, generic "prefix matching" term-level flag. This is currently ignored for everything except fuzzy query items. Modernizing the query stack format to make it more extensible (i.e. move encoding to Protobuf) is on the backlog...! | ||||
* | Reapply add virtual fields to index environment for streaming mode. | Tor Egge | 2024-03-20 | 1 | -0/+1 |
| | |||||
* | Revert "Add virtual fields to index environment for streaming mode." | Henning Baldersheim | 2024-03-19 | 1 | -1/+0 |
| | |||||
* | Add virtual fields to index environment for streaming mode. | Tor Egge | 2024-03-19 | 1 | -0/+1 |
| | |||||
* | Use multi_index_terms() returning boolean to differentiate between | Tor Egge | 2024-03-18 | 1 | -1/+1 |
| | | | | | | multi term nodes that all searches the same index (e.g. Phrase) and multi term nodes that searches multiple indexes (e.g. Equiv, SameElement). | ||||
* | Change parent class of search::streaming::SameElementQueryNode from | Tor Egge | 2024-03-18 | 1 | -1/+1 |
| | | | | search::streaming::AndQueryNode to search:streaming::MultiTerm. | ||||
* | Use filter settings from rank profiles and query terms in streaming search. | Tor Egge | 2024-03-15 | 1 | -2/+6 |
| | |||||
* | - Hide recall terms from ranking. | Henning Baldersheim | 2024-02-19 | 1 | -3/+6 |
| | | | | - Add noexcept. | ||||
* | Reduce code duplication. | Tor Egge | 2024-02-09 | 1 | -1/+2 |
| | |||||
* | Handle search::streaming::EquivQueryNode as a leaf in the query tree. | Tor Egge | 2024-02-09 | 1 | -0/+3 |
| | |||||
* | Handle search::streaming::PhraseQueryNode as a leaf in the query tree. | Tor Egge | 2024-02-06 | 1 | -4/+0 |
| | |||||
* | Add unpack_match_data member function to search::streaming::QueryTerm. | Tor Egge | 2024-02-05 | 1 | -0/+8 |
| | |||||
* | Change parent class of search::streaming::PhraseQueryNode from | Tor Egge | 2024-02-02 | 1 | -1/+1 |
| | | | | search::streaming::AndQueryNode to search::streaming::MultiTerm. | ||||
* | Track element length in streaming mode. | Tor Egge | 2024-01-25 | 1 | -1/+2 |
| | |||||
* | Adjust search::streaming::Hit to better match | Tor Egge | 2024-01-22 | 1 | -1/+1 |
| | | | | search::fef::TermFieldMatchDataPosition. | ||||
* | Merge pull request #29969 from ↵ | Tor Brede Vekterli | 2024-01-19 | 1 | -0/+2 |
|\ | | | | | | | | | vespa-engine/vekterli/support-fuzzy-matching-in-streaming-search Support fuzzy term matching in streaming search | ||||
| * | Support fuzzy term matching in streaming search | Tor Brede Vekterli | 2024-01-18 | 1 | -0/+2 |
| | | | | | | | | | | | | | | | | | | | | Uses a DFA-based matcher for max edits in {1, 2} and falls back to the legacy non-DFA matcher for all other values (including 0). Currently only supports fuzzy matching across the full field string, i.e. there's no implicit tokenization or whitespace removal. This matches the semantics we currently have for fuzzy search over attributes in a non-streaming case | ||||
* | | Make search::streaming::QueryTerm::evaluateHits() member function final. | Tor Egge | 2024-01-19 | 1 | -1/+1 |
|/ | |||||
* | Add regular expression support to streaming search | Tor Brede Vekterli | 2024-01-15 | 1 | -0/+2 |
| | | | | | | | | | | | | | | Introduces an explicit regex query term node (which wraps an RE2 regex instance internally) and extends the existing UTF-8 flexible string searcher to use this query node. Regex matching is optionally case (in)sensitive depending on the normalization mode used. Note on `searcher/searcher_test.cpp`: this adds a magic sentinel `#` char prefix to query term parsing in the test to let a query term be interpreted as a regex rather than exact/prefix/suffix/substring match. | ||||
* | - Fold query for streaming search based on either query item type, or field ↵ | Henning Baldersheim | 2024-01-05 | 1 | -4/+6 |
| | | | | | | | | definition. - This ensures that query processing and document processing is symmetric for streaming search. No longer rely on java query processing being symmetric with backend c++ variant. - Indexed search does no normalization in backend and uses query as is. | ||||
* | Code modernization and minor rewrite to avoid hard to read negations. | Henning Baldersheim | 2024-01-01 | 1 | -1/+1 |
| | |||||
* | Add MultiTerm and InTerm for streaming search. | Tor Egge | 2023-12-07 | 1 | -0/+2 |
| | |||||
* | Standard plural of leaf is leaves. | Tor Egge | 2023-11-30 | 1 | -2/+2 |
| | |||||
* | Update copyright | Jon Bratseth | 2023-10-09 | 1 | -1/+1 |
| | |||||
* | Use WordFolder as helper instead of inheriting static stuff. | Henning Baldersheim | 2023-07-25 | 1 | -1/+0 |
| | |||||
* | Add NearestNeighborQueryNode. | Tor Egge | 2023-04-17 | 1 | -1/+4 |
| | |||||
* | Change from typedef to using in searchlib C++ code. | Geir Storli | 2022-12-21 | 1 | -1/+1 |
| | |||||
* | Addressed PR comments | Alexey Chernyshev | 2022-04-11 | 1 | -2/+0 |
| | |||||
* | Propagating annotations for fuzzy query | Alexey Chernyshev | 2022-04-07 | 1 | -0/+4 |
| | |||||
* | GC cloneable | Henning Baldersheim | 2022-03-03 | 1 | -2/+1 |
| | |||||
* | Add noexcept specifiers. | Tor Egge | 2021-12-11 | 1 | -1/+1 |
| | |||||
* | Update 2017 copyright notices. | gjoranv | 2021-10-07 | 1 | -1/+1 |
| | |||||
* | Remove default constructors and simplify. | Henning Baldersheim | 2021-03-05 | 1 | -1/+0 |
| | | | | Use atomic pointer to get proper memory visibility. | ||||
* | No move or copy construction. | Henning Baldersheim | 2021-03-04 | 1 | -2/+4 |
| | |||||
* | Keep only one ucs4 buffer, and create the buffer lazy. | Henning Baldersheim | 2021-03-04 | 1 | -4/+2 |
| | |||||
* | Make the SearchTerm enum a small scoped enum and rename to Type. | Henning Baldersheim | 2021-03-04 | 1 | -1/+1 |
| | |||||
* | Add noexcept to move constructors and operators | Henning Baldersheim | 2020-01-21 | 1 | -2/+2 |
| | |||||
* | Move query classes used in streaming search to namespace search::streaming. | Geir Storli | 2019-11-28 | 1 | -1/+1 |
| | |||||
* | Move query classes used in streaming search to separate sub-folder and ↵ | Geir Storli | 2019-11-28 | 1 | -0/+104 |
sub-library. |