* Make TopCollector generic
Make TopCollector take a generic type instead of only being tied to
score. This will allow for sharing code between a TopCollector that
sorts results by Score and a TopCollector that sorts documents by a fast
field. This commit makes no functional changes to TopCollector.
* Add TopFieldCollector and TopScoreCollector
Create two new collectors that use the refactored TopCollector.
TopFieldCollector has the same functionality that TopCollector
originally had. TopFieldCollector allows for sorting results by a given
fast field. Closestantivy-search/tantivy#388
* Make TopCollector private
Make TopCollector package private and export TopFieldCollector as
TopCollector to maintain backwards compatibility. Mark TopCollector
as deprecated to encourage use of the non-aliased TopFieldCollector.
Remove Collector implementation for TopCollector since it is not longer
used.
* Moving Range and All to Leaves
* Parsing OR/AND
* Simplify user input ast
* AND and OR supported. Returning an error when mixing syntax
Closes#246
* Added support for NOT
* Updated changelog
* add position_length to Token
refer #291
* Add term offset to `PhraseQuery`
ref #291
* Add new constructor for `PhraseQuery` that allows custom offset
* fix the method name as per pr comment
* Closes#291
Added unit test.
Using offsets from the analyzer in QueryParser.
* (#321) Add support for range query parsing to grammar / parser. Still needs to be wired through the rest of the way.
* (321) Finish wiring RangeQuery parsing through
* (#321) Add logical AST query parser tests for RangeQuery
* (#321) Support parsing AllQuery
* (#321) Update documentation of QueryParser
* (#321) Support negative numbers in range query parsing
* Add TopCollector doc test
* Add CountCollector Doc Test
* Add Doc Test for MultiCollector
* Add ChainedCollector Doc Test
* Expose Fuzzy Query where it should be
* Add FuzzyTermQuery Doc Test
* Expose RegexQuery
* Regex Query Doc Test
* Add TermQuery Doc Test
* Add doc comments
* fix test 🤦
* Added explanation about the complexity variables
* Fixing unit tests
* Single threads if you check docids
* Add fst_regex crate in
* Reduce API surface area
This doesn't need to be public
* better test name
* Pull Automaton weight out so it can be shared
* Implement Regex Query
* Add AutomatonWeight to a fuzzy_search module
* Hacking around ownership issues
* Working through lifetime issues
* Working through tests
* fix test by lower casing the words (reducing distance)
* code review changes
* Suggestion on how to solve the borrow problem
* clean up
* Add fast field for associating arbitrary bytes to a document
* Fix unused macro_use warning
* Improvements from code review
* Make BytesFastFieldWriter public
* Fix json parsing validation failure
* Add bytes fast field to CHANGELOG.md
* Fix compile errors from merge
* Support merging
* Address misc code review comments
* Fix comments from CR
PhraseQuery panics with a nice error message when the underlying field does not have any positions.
The `QueryParser` fails as well with a dedicated error.