Skip to content

search: Implement AND / OR for file contents

Created by: rvantonder

Parent issue: #7823 (closed). Breakdown of tasks:

  • Refactor / organize current query code (partially done) #8566 #8565 #8564
  • Implement the parser for the language (mostly done) #8633 #8802 #8784 #8809
  • Add search behavior for expressions. Breakdown:
    • Critical: New query parser scaffolding (make a code path that uses the new query parser) #9167 (closed)
    • Critical: Feature flag the above #9168 (closed)
    • Critical: Query evaluation. Evaluate and/or queries. #9169 (closed)
    • Critical: Disambiguate parentheses part of search pattern (regex) versus expression grouping. #9170 (closed)
    • Critical: Query semantics for patterns (what are the semantics of concat). Separate implementation for each of literal, regexp, structural. #9171 (closed)
    • Important: Query validation. Separate implementation required for each of literal, regexp, and structural search patterns. #9172 (closed)
    • Important: Remove the feature flag. Initially use a heuristic to only use the new parser if it contains and, or keywords. This will help ease a full transition away from the current parsing. #9176 (closed)
    • Important: migrate current query parsing to use new parser, including tests. Separate implementation for each of literal, regexp, structural. (NOT NECESSARILY FOR 3.15)

Related documents: RFC 94