Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: revamp search #3893

Merged
merged 8 commits into from
Nov 11, 2023
Merged

feat: revamp search #3893

merged 8 commits into from
Nov 11, 2023

Conversation

SychO9
Copy link
Member

@SychO9 SychO9 commented Sep 26, 2023

Closes #3884

Changes proposed in this pull request:
Part of the roadmap, each commit has a separate PR. Changes are made one at a time for easier review/readability.

feel free to review within the related PR even if it's marked as merged.

Necessity

  • Has the problem that is being solved here been clearly explained?
  • If applicable, have various options for solving this problem been considered?
  • For core PRs, does this need to be in core, or could it be in an extension?
  • Are we willing to maintain this for years / potentially forever?

Confirmed

  • Frontend changes: tested on a local Flarum installation.
  • Backend changes: tests are green (run composer test).
  • Core developer confirmed locally this works as intended.
  • Tests have been added, or are not appropriate here.

Required changes:

* refactor: move gambits to frontend
* Apply fixes from StyleCI
* test: GambitManager
* chore: drop remaining backend regex gambits
* refactor: merge filterer & searcher concept
* refactor: adapt extenders
* refactor: no longer need to push gambits to `q`
* refactor: filters to gambits
* refactor: drop shred `Query` namespace
* Apply fixes from StyleCI
* chore: cleanup
* Apply fixes from StyleCI
* chore: leftover gambit references on the backend
* chore: namespace
* feat: first iteration of search drivers
* feat: indexer API & tweaks
* feat: changes after POC driver
* fix: properly fire custom observables
* chore: remove debugging code
* fix: phpstan
* fix: custom eloquent events
* chore: drop POC usage
* test: indexer extender API
* fix: extension searcher fails without filters
* fix: phpstan
* fix: frontend created gambit
# Conflicts:
#	framework/core/src/Settings/SettingsServiceProvider.php
* feat: allow accessing total search results
* feat: allow replacing filters
* chore: phpstan
@SychO9
Copy link
Member Author

SychO9 commented Oct 21, 2023

Feel free to leave separate reviews in each PR for easier back n fourth if necessary.

@SychO9
Copy link
Member Author

SychO9 commented Oct 21, 2023

Also, proof of concept search driver here: #3902 (comment)

Copy link
Member

@imorland imorland left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aside from it likely taking me a while to get used to, I really do like this alot. Great job @SychO9 :)

@imorland
Copy link
Member

Just need to resolve the conflict, then good to marge. Are you able to tackle that @SychO9 ?

# Conflicts:
#	framework/core/src/Search/GambitManager.php
@SychO9 SychO9 merged commit 4b126d9 into 2.x Nov 11, 2023
21 of 22 checks passed
@SychO9 SychO9 deleted the dev-search-drivers branch November 11, 2023 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Search drivers
2 participants