SearchQuery is a immutable class holding all the information known after parsing the query.
This object can be built from a convenient builder class.
It'll be the data that the upcoming query routing mechanism will be based on.
It'll also be the source data for all the query building component.
Description
Details
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Invalid | None | T235826 Introduce more complex and updated search syntax to allow power users and tools to do advanced searches | |||
Open | None | T235827 [EPIC] new query parser is used in production | |||
Open | PRODUCTION ERROR | None | T94814 Fix: "Warning: Search backend error during .. took .." (tracking) | ||
Open | None | T185108 Refactor query parsing logic | |||
Resolved | dcausse | T189880 Introduce SearchQuery | |||
Resolved | dcausse | T197774 Add a way to classify queries | |||
Resolved | dcausse | T198860 Deprecate SearchEngine::replacePrefixes | |||
Resolved | dcausse | T204255 Introduce rewrite/second-try strategies |
Event Timeline
What about config and interwiki stuff? I.e., right now interwiki searches also use query builder but with different config. To take decision about how to treat search, this information needs to be available - i.e. Wikibase wants to override local searches in Main space, but not interwiki searches in the same space.
Most of the time the list of requested namespaces will be the criteria used but what happens if 2 extensions request to override for the same set of ns?
Ideally we don't want two extensions messing with search in the same NS. However, it is completely possible that, for example, somebody searches both Main and User space on Wikidata, and those require different searches. Right now the engine just chooses one, but we could possibly - at least in theory - run several searches. That wouldn't be easy since searches can have different results formats, etc. - so I am not sure whether we should support it at all.
Change 460008 had a related patch set uploaded (by DCausse; owner: DCausse):
[mediawiki/extensions/CirrusSearch@master] Add support for prefixed namespace in the new parser
Change 460299 had a related patch set uploaded (by DCausse; owner: DCausse):
[mediawiki/extensions/CirrusSearch@master] Add tilde prefix support to the new parser
Change 460008 merged by jenkins-bot:
[mediawiki/extensions/CirrusSearch@master] Add support for namespace header in the new parser
Change 460299 merged by jenkins-bot:
[mediawiki/extensions/CirrusSearch@master] Add tilde header support to the new parser
Change 463432 had a related patch set uploaded (by DCausse; owner: DCausse):
[mediawiki/extensions/CirrusSearch@master] Add ContextualFilter
Change 463432 merged by jenkins-bot:
[mediawiki/extensions/CirrusSearch@master] Add ContextualFilter