Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix typo in getter-function | Tor Brede Vekterli | 2024-04-23 | 1 | -2/+2 |
| | |||||
* | Wire fuzzy prefix matching support through the query stack | Tor Brede Vekterli | 2024-04-19 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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...! | ||||
* | Rewrite is disabled for nodes below SameElementQueryNode. | Tor Egge | 2024-03-18 | 1 | -6/+4 |
| | |||||
* | Change parent class of search::streaming::SameElementQueryNode from | Tor Egge | 2024-03-18 | 1 | -4/+24 |
| | | | | 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 | -0/+1 |
| | |||||
* | Adjust rewriting of number terms for string fields in streaming search. | Tor Egge | 2024-03-05 | 1 | -9/+30 |
| | |||||
* | - Hide recall terms from ranking. | Henning Baldersheim | 2024-02-19 | 1 | -0/+1 |
| | | | | - Add noexcept. | ||||
* | Handle search::streaming::EquivQueryNode as a leaf in the query tree. | Tor Egge | 2024-02-09 | 1 | -5/+35 |
| | |||||
* | Stop getting phrase index from subterm in streaming mode. | Tor Egge | 2024-02-06 | 1 | -5/+5 |
| | |||||
* | Empty index => 'default' index | Henning Baldersheim | 2024-02-06 | 1 | -2/+1 |
| | |||||
* | Handle search::streaming::PhraseQueryNode as a leaf in the query tree. | Tor Egge | 2024-02-06 | 1 | -0/+6 |
| | |||||
* | Wire QueryNormalization in to JuniperQueryAdapter and use it there. | Henning Baldersheim | 2024-02-05 | 1 | -25/+2 |
| | |||||
* | Change parent class of search::streaming::PhraseQueryNode from | Tor Egge | 2024-02-02 | 1 | -4/+23 |
| | | | | search::streaming::AndQueryNode to search::streaming::MultiTerm. | ||||
* | Merge pull request #30027 from vespa-engine/arnej/implement-rank-with-operator | Henning Baldersheim | 2024-01-23 | 1 | -11/+1 |
|\ | | | | | actually implement RANK operator | ||||
| * | actually implement RANK operator | Arne Juul | 2024-01-23 | 1 | -11/+1 |
| | | |||||
* | | Move out NearQueryNode, ONearQueryNode, PhraseQueryNode and | Tor Egge | 2024-01-23 | 1 | -0/+3 |
|/ | | | | SameElementQueryNode to separate files. | ||||
* | Support fuzzy term matching in streaming search | Tor Brede Vekterli | 2024-01-18 | 1 | -8/+8 |
| | | | | | | | | | | 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 | ||||
* | Add regular expression support to streaming search | Tor Brede Vekterli | 2024-01-15 | 1 | -1/+7 |
| | | | | | | | | | | | | | | 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. | ||||
* | Add WeightedSetTerm for streaming search. | Tor Egge | 2024-01-15 | 1 | -2/+14 |
| | |||||
* | Calculate raw score for streaming search wand. | Tor Egge | 2024-01-12 | 1 | -5/+17 |
| | |||||
* | - Fold query for streaming search based on either query item type, or field ↵ | Henning Baldersheim | 2024-01-05 | 1 | -20/+19 |
| | | | | | | | | 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. | ||||
* | Check cheapest condition first. | Henning Baldersheim | 2024-01-03 | 1 | -1/+1 |
| | |||||
* | Revert "Revert "Balder/only rewrite numeric terms for text fields"" | Henning Baldersheim | 2024-01-03 | 1 | -1/+1 |
| | |||||
* | Revert "Balder/only rewrite numeric terms for text fields" | Henning Baldersheim | 2024-01-03 | 1 | -1/+1 |
| | |||||
* | Only rewrite numeric terms when searching text fields. | Henning Baldersheim | 2024-01-02 | 1 | -1/+1 |
| | |||||
* | Code modernization and minor rewrite to avoid hard to read negations. | Henning Baldersheim | 2024-01-01 | 1 | -18/+20 |
| | |||||
* | Add DotProductTerm for streaming search. | Tor Egge | 2023-12-13 | 1 | -8/+56 |
| | |||||
* | Remove type argument to search::streaming::InTerm constructor. | Tor Egge | 2023-12-07 | 1 | -1/+1 |
| | | | | Test InTerm::evaluate(). | ||||
* | Add MultiTerm and InTerm for streaming search. | Tor Egge | 2023-12-07 | 1 | -0/+6 |
| | |||||
* | Update copyright | Jon Bratseth | 2023-10-09 | 1 | -1/+1 |
| | |||||
* | Use targetHits in nearestNeighbor streaming searcher. | Geir Storli | 2023-04-25 | 1 | -5/+7 |
| | | | | A distance heap is used to limit the number of produced document matches. | ||||
* | Add NearestNeighborQueryNode. | Tor Egge | 2023-04-17 | 1 | -0/+20 |
| | |||||
* | Propagating annotations for fuzzy query | Alexey Chernyshev | 2022-04-07 | 1 | -0/+4 |
| | |||||
* | Introducing fuzzy search | Alexey Chernyshev | 2022-03-23 | 1 | -0/+4 |
| | |||||
* | convert ITEM_GEO_LOCATION_TERM to something useful | Arne H Juul | 2022-01-28 | 1 | -5/+6 |
| | |||||
* | add ITEM_TRUE and ITEM_FALSE query nodes | Arne H Juul | 2021-10-18 | 1 | -0/+6 |
| | |||||
* | Update 2017 copyright notices. | gjoranv | 2021-10-07 | 1 | -1/+1 |
| | |||||
* | - Model as having children, as opposed to being children. | Henning Baldersheim | 2021-04-23 | 1 | -6/+5 |
| | |||||
* | - Prevent the rewrite that happens with equiv and phrase to handle floating ↵ | Henning Baldersheim | 2021-04-22 | 1 | -4/+11 |
| | | | | | | point queries in string fields, from happening in under a same-element node. - Add raw stackdump from previously failing query. | ||||
* | - Let DotProduct,Wand and WeightedSet be Term nodes in the query tree as ↵ | Henning Baldersheim | 2021-03-29 | 1 | -5/+11 |
| | | | | | | | | they really are. That restricts the nodes to what they can really do and makes them significantly cheaper. - In addition type conversion of numeric terms is delayed to when it is necessary. And as next step they can be avoided completely. | ||||
* | Make the SearchTerm enum a small scoped enum and rename to Type. | Henning Baldersheim | 2021-03-04 | 1 | -11/+12 |
| | |||||
* | fix bugs | Arne Juul | 2020-07-15 | 1 | -5/+2 |
| | |||||
* | explicit no-handling of location for streaming | Arne Juul | 2020-07-15 | 1 | -1/+9 |
| | |||||
* | more descriptive enum name for geo location term | Arne Juul | 2020-07-15 | 1 | -1/+1 |
| | |||||
* | clean up various issues with ParseItem class | Arne Juul | 2020-07-09 | 1 | -0/+1 |
| | | | | | | | | | | | * SimpleQueryStack only used for one unit test, move it there * Actual instances of ParseItem also only used for same unit test. Split out the object representation into a separate SimpleQueryStackItem class in the unit test directory. * give location ITEM_LOCATION_TERM instead of overloading NUMTERM * ParseItem::ITEM_PAREN never used for anything, remove it * add comment for removal of PAREN enum in prelude/query/Item.java * refactor flag handling with one method per flag | ||||
* | be more specific in StackDumpIterator API | Arne Juul | 2020-03-02 | 1 | -1/+1 |
| | |||||
* | 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/+160 |
sub-library. |