-
Notifications
You must be signed in to change notification settings - Fork 138
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
Add a search engine into Plume #324
Conversation
Add a Tantivy based search engine to the model Implement most required functions for it
Implement indexaction on insert, update and delete Modify func args to get the indexer where required Add subcommand to initialise, refill and unlock search db
Add default fields for search Add new routes and templates for search and result Implement FromFormValue for Page to reuse it on search result pagination Add optional query parameters to paginate template's macro Update to newer rocket_csrf, don't get csrf token on GET forms
Codecov Report
@@ Coverage Diff @@
## master #324 +/- ##
==========================================
+ Coverage 22.42% 27.97% +5.55%
==========================================
Files 55 61 +6
Lines 4883 6419 +1536
==========================================
+ Hits 1095 1796 +701
- Misses 3788 4623 +835
Continue to review full report at Codecov.
|
Handle process termination Add tests to search
9e1c444
to
48addbe
Compare
Add an advanced search form to /search, in template and route Modify Tantivy schema, add new tokenizer for some properties Create new String query parser Create Tantivy query AST from our own
Small todo list of things that are not strictly needed atm, but should still be done:
|
@fdb-hiroshima We have a dangling PR to add a lenient mode to search.
@fdb-hiroshima Let me know if you have any question about tantivy. |
@fulmicoton Both "issues" are fixed (you can see they are Concerning dates, I don't have any question, it's just how we give date to tantivy is not evident to the end user, but tantivy can't change that. We store date as the result of I really like your crate, it's very complete yet relatively easy to use. The only issue I had with it was about BooleanQuery, I had a hard time understanding how to build theme. I was looking for some kind of function, and took a lot of time to figure out it implement From. Maybe it could just simply be mentioned in the documentation of |
Opened tantivy-search/tantivy#446 to make creation of Your insight about range is correct. Eventually tantivy will be a bit smarter than what it does right now, but too be honest this is pretty low priority. Looking forward to seeing Plume grow. |
Split search.rs into multiple submodules Add comments and tests for Query Make user@domain be treated as one could assume
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to work well! Thank you! (and thank you @fulmicoton for tantivy as well)
Fix panic when searching for blog without precising instance Make gen_parser! more idiomatic Change js a bit to fix issue with history
@BaptisteGelez in what order do we merge search ructe and the dependency upgrade? |
@fdb-hiroshima I think we could merge the search first, then rebase |
I'll do so |
There is one thing I forgot. There is nowhere a link to |
You're right, but I'll a a link the header when converting the template to ructe. And updating the docs can be done in another PR. |
if you want you can make a small form with an |
Add support for search through tantivy
fix #149
This is mostly done, current issues are:
query parser might be a bit intolerant, we should probably implement our ownclosing Plume leave the database blocked, currently you have to run plm search unlock -p to unlock it.advanced search is working, but yet undocumented (i.e. filtering by date could be done if you know enough tantivy, but I don't expect common user to)After upgrading to this, you will have to run
plm search init -p <path to plume wokingdir>
to initialize search database, otherwise Plume will panic at launch