-
-
Notifications
You must be signed in to change notification settings - Fork 367
Enhancement: Implement Better Search Algorithm #3459
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
Comments
Yes, I am planning this with technology of LLM, etc. But it is hard to implement and it can be our long-term plan. |
What about Fuzzy Search? seems pretty easy with Python? |
The "LLM"'s are only needed when using "LSI" but not "Fuzzy Search", Before the age of AI-drama, fuzzy finding was already implemented in a lot lots of programs. So I do think that you guys could ship something with like a fuzzy finding-regex matching algorithm, which could genuinely help in searching. I do infact like the PowerToys Run's Search method, as its super fast, well, ofc its microsoft who's optimizing the program to run on Windows, but super fast doesnt need to be prioritized, as flow is as fast as possible. Which brings me to the actual point, that is its searching algorithm which is way, way too advanced to understand for me, but i do think that it optimizes on the things you search, but the best thing is it uses fuzzy search, NOT LSI. And fuzzy search should be well optimized for a program like Flow Launcher as its searching, Files, Programs, The Web, and more. It's a "Launcher" which probably shouldve had this. And woah, Wox 2.0.0 just dropped? and wait, it says, "AI-ready commands" and whatever the f*ck i don't care, Guys, don't go to the AI-dumb shit side, just focus on fixing the bugs, and like implementing very nice features like fuzzy finding in Flow Launcher. I will probably make a beta plugin for you guys, which makes fuzzy finding, a feature in flow. I don't still know proper python, i know how to code, i'll probably do some vibe-coding, and also verify it before making the plugin. Don't worry, it will be safe. |
Even Wox has learning-based searching algorithm, which for me, is pretty insane, i would really REALLY like to have that feature, properly implemented |
#328 is one of the reasons related to this, i would like to add a "keep fresh" label to this issue |
In #328 jjw24 talks about fuzzy search?? When was it even implemented? |
We have already implemented the fuzzy search algorithm: https://github.com/Flow-Launcher/Flow.Launcher/blob/dev/Flow.Launcher.Infrastructure/StringMatcher.cs. But we still get plenty of issues about the enhancement. So it needs improvement. |
Oh got it, it needs improvement. What about the search score? the search score thing seems very, very bad at predicting in what programs it should search. I like every aspect of Flow launcher, but the programs plugin is so glitchy and its searching algorithm is 🤮 |
@Jack251970 Does Flow Launcher learn from the searching? |
Yes, our team still has significant work ahead to improve search scoring. |
Yeah, i'll try and improve the search score algorithm by making a plugin and trying to do the perfecting |
Hey, Jack, I'm ready to start working on the fuzzy search improvements 😄 But Some questions Should I focus on building a new, separate plugin that provides its own fuzzy search logic, maybe triggered by a specific keyword like fs ? This could offer an immediate, improved alternative experience. I'm open to either path! Knowing which approach you think is best will help me code using ai (ofcourse as i'm weak in C# but i know what makes sense, but i don't know where to start with, so I'll continuously try to teach myself along the way) effectively. If it's option 2 (the core code), any pointers on which files or modules handle the current fuzzy search would be incredibly helpful to get me started. |
Thanks for your consideration! I think it could be better if you edit from FL side. You just need to check this class: https://github.com/Flow-Launcher/Flow.Launcher/blob/dev/Flow.Launcher.Infrastructure/StringMatcher.cs and bring better fuzzy search algorithm because it can bring improved better fuzzy search as API function for all plugins. Here is one PR for your reference: #616. |
Feature Request
The search algorithm which is used to search in Flow Launcher doesnt feel right.
I mean, sure, regex is very powerful, but, regex is really complicated for me, and i am sure, it is for others, so i would infact like to use another better search algorithm.
SOLUTION
I need a search algorithm which implements fuzzy search, which i hope would be easier for the devs and also might be good enough. Fuzzy search is probably better for us users, as like, PowerToys Run uses! which basically gives us a "Plug-n-Play" experience, Making PowerToys Run or CommandPallete, the absolute BEST "out-of-the-box", NO CUSTOMIZATION REQUIRED, thing.
which is probably good for them, but flow needs customization, i truly understand that.
As a user of FOSS, I know that there might be challenges, so I prefer fuzzy finding algorithms. The best thing you guys can do is, taking the code (ofc giving the credit as well) from other Open Source Projects, which would be much easier as the implementation would take time, but atleast you won't have to build the entire thing.
ALTERNATIVES
Like i have seen with the latest Windows 11 Insider Beta build 26120.3863 (See image below), Microsoft introduced Latent Semantic Indexing or LSI for Windows 11 Settings search in the search bar. Link to the article. As far as what I can search, this is used in SEO which made me think, if you guys can implement THIS or not, but i think this might be too much time-taking.
Additional info
I know this might sound similar to #3433 But this is the solution to that bug, or enhancement.
If you guys can mark this post in the #2926 Top ranked feature requests, it would be really appreciated.
Here are images for The blogpost:
The text was updated successfully, but these errors were encountered: