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
[RFC] Add Solr FullTextSearch to dovecot #1176
Conversation
Thanks for submitting this pull request. bors try Note: if this build fails, read this. |
tryBuild succeeded |
|
Is squat fts really broken or just deprecated? Adding solr adds much complexity and increases memory requirements a lot (from 1 to 3 gb?). If we add it, I think adding the original image is better than maintaining an own. It's similar to redis, "just" a tool that needs to run along with mailu. We could also consider to use https://github.com/grosjo/fts-xapian which is directly integrated in dovecot. |
i suggest to only add the fts-solr package by default. so i would be able to add further fts stuff if i want to, but it wouldn't be configured by default. what do you think about it? |
It sounds fine. Your PR is still interesting however. I wonder how we could easily make this less ressource hungry, or at least optional without introducing too much complexity. |
@kaiyou fts-elastic would be cooler, but there is actually no apk available for this :D |
If it is in the official source, it is probably a matter of contributing the build script. We already contributed to most dovecot apk, I guess it is only reasonable we work on this :) |
its not official but mentioned on the dovecot site and well supported i think. checkout https://github.com/filiphanes/fts-elastic |
i personally prefer elasic over solr because i'm more familiar with elasticsearch, but thats the only reason 😄 |
Can we provide support for multiple fst implementations and use the least resource hungry as a default? What happens without fst, would this mean, server-side mail search won't work at all? |
Proposed moto: simplicity. Let's start and stick with one first. When we are confident it runs fine, let's think about supporting many 😅 I agree with Elastic, and it should be somewhat straightforward to provide. Also, setup will be easier. |
Ouch, for whatever reason GH search didn't return this PR when I checked for SOLR, so I added my own here - #1297 . This configuration is based on my custom mailu build with solr, which I use for almost a year, and didn't have any issues with it - so if it helps, feel free to take some parts from it :) |
Hi, so, I think I’m going to close this one, as i think that #1297 is cleaner code-wise. Also, the issues raised in this discussion about whether solr is the right option also has a good point — I think we should go with a lean, simple and small solution to fit the scope of mailu. |
1320: Add xapian full-text-search plugin to dovecot r=mergify[bot] a=Nebukadneza ## What type of PR? Enhancement ## What does this PR do? Currently we are not able to offer our users a FTS experience after the demise of lucene due to unfixed coredumps with musl/alpine. We now add lucene, the only remaining maintained small/lean FTS plugin for dovecot. It is quite simple to add to our stack: A two-stage docker build is used to compile the fts plugin in the first stage, and copy over only the resulting plugin-artifact to the second stage, which is our usual dovecot container. Configuration is also minimal. There was a upstream issue where bodies were not able to be searched for subwords, but fortunately it was fixed quite quickly. We currently need to wait for a new release to use a stable tag in our `Dockerfile`. ### Related issue(s) - #1176 - #1297 - #751 - **Upstream-issues which is the cause for the `TODO` in the `Dockerfile`**: grosjo/fts-xapian#32 ## Prerequistes - [ ] Wait for upstream to prepare new release after grosjo/fts-xapian#32 — so that we can use a stable tag in our `Dockerfile` - [ ] In case of feature or enhancement: documentation updated accordingly - [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file. Co-authored-by: Dario Ernst <dario@kanojo.de>
1320: Add xapian full-text-search plugin to dovecot r=mergify[bot] a=Nebukadneza ## What type of PR? Enhancement ## What does this PR do? Currently we are not able to offer our users a FTS experience after the demise of lucene due to unfixed coredumps with musl/alpine. We now add lucene, the only remaining maintained small/lean FTS plugin for dovecot. It is quite simple to add to our stack: A two-stage docker build is used to compile the fts plugin in the first stage, and copy over only the resulting plugin-artifact to the second stage, which is our usual dovecot container. Configuration is also minimal. There was a upstream issue where bodies were not able to be searched for subwords, but fortunately it was fixed quite quickly. We currently need to wait for a new release to use a stable tag in our `Dockerfile`. ### Related issue(s) - #1176 - #1297 - #751 - **Upstream-issues which is the cause for the `TODO` in the `Dockerfile`**: grosjo/fts-xapian#32 ## Prerequistes - [ ] Wait for upstream to prepare new release after grosjo/fts-xapian#32 — so that we can use a stable tag in our `Dockerfile` - [ ] In case of feature or enhancement: documentation updated accordingly - [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file. Co-authored-by: Dario Ernst <dario@kanojo.de> Co-authored-by: Dario Ernst <dario.ernst@rommelag.com>
What type of PR?
RFC / Feature
I’m not overly happy with some parts:
As this is RFC, I didn’t adapt setup yet, so if anyone wants to test it, this is the compose part:
What does this PR do?
Add a alpine-based SOLR server, to be able to enable the respective FTS plugin in dovecot. This could supersede the broken-since-ages lucene FTS engine.
Related issue(s)
Prerequistes