[GH-ISSUE #473] Alternative Search Engine / Manticore #366

Closed
opened 2026-02-25 21:31:47 +03:00 by kerem · 3 comments
Owner

Originally created by @ciur on GitHub (Aug 30, 2022).
Original GitHub issue: https://github.com/ciur/papermerge/issues/473

Originally assigned to: @ciur on GitHub.

Currently Papermerge DMS supports only one search engine backend - elasticsearch.
It would be great to support multiple search engines.
Consider manticoresearch.
Consider Apache Solr.
Consider Typesense.
Consider PostgreSQL FTS

Any other option ?

Originally created by @ciur on GitHub (Aug 30, 2022). Original GitHub issue: https://github.com/ciur/papermerge/issues/473 Originally assigned to: @ciur on GitHub. Currently Papermerge DMS supports only one search engine backend - elasticsearch. It would be great to support multiple search engines. Consider [manticoresearch](https://github.com/manticoresoftware/manticoresearch). Consider [Apache Solr](https://solr.apache.org/). Consider [Typesense](https://typesense.org/). Consider [PostgreSQL FTS](https://www.postgresql.org/docs/current/textsearch.html) Any other option ?
Author
Owner

@telsch commented on GitHub (Sep 2, 2022):

The removed legacy database search engine for low resource hardware like raspberry pi?

<!-- gh-comment-id:1235461923 --> @telsch commented on GitHub (Sep 2, 2022): The removed legacy database search engine for low resource hardware like raspberry pi?
Author
Owner

@ciur commented on GitHub (Sep 2, 2022):

That's actually a good point. I really enjoyed PostgreSQL full text search :).
The disadvantage of that approach is that it is specifically bound one database type - PostgreSQL, but on the other hand
it is easier to use as there is no need for an extra service.
PostgreSQL FTS will be added back.

<!-- gh-comment-id:1235701033 --> @ciur commented on GitHub (Sep 2, 2022): That's actually a good point. I really enjoyed PostgreSQL full text search :). The disadvantage of that approach is that it is specifically bound one database type - PostgreSQL, but on the other hand it is easier to use as there is no need for an extra service. PostgreSQL FTS will be added back.
Author
Owner

@ciur commented on GitHub (Sep 10, 2022):

These week I experimented with Django Haystack. I was pleasantly surprised - although package looks out of date - in reality it is very well written and works well.
When used, it adds support to four search backends: elasticsearch, solr, xapian and whoosh.
Solr and elasticsearch are well known, mature but very resource intensive (both have a minimum memory req > 4 GB RAM).
Whoosh it python only search engine. First impression - it works rather well for small set of data.

I was completely amazed by Xapian. I never heard of it (until couple of days ago) - but it works surprisingly well, is well documented and has great python bindings.
And best of all - are you ready? - it is written in C++ and has very small memory footprint.
Long story short - Xapian search is now included by default in Papermerge DMS. No configuration required.

Basically - Papermerge DMS, without any extra config comes with Xapian search engine.
In case are very adventurous and have lots of resources available - you can use Elasticsearch or Solr.

Somewhere in future I will include support Manticore - but for now, it is ok the way it is.

<!-- gh-comment-id:1242752153 --> @ciur commented on GitHub (Sep 10, 2022): These week I experimented with [Django Haystack](https://django-haystack.readthedocs.io/en/master/). I was pleasantly surprised - although package looks out of date - in reality it is very well written and works well. When used, it adds support to four search backends: elasticsearch, solr, xapian and whoosh. Solr and elasticsearch are well known, mature but very resource intensive (both have a minimum memory req > 4 GB RAM). Whoosh it python only search engine. First impression - it works rather well for small set of data. I was completely amazed by Xapian. I never heard of it (until couple of days ago) - but it works surprisingly well, is well documented and has great python bindings. And best of all - are you ready? - it is written in C++ and has very small memory footprint. Long story short - [Xapian search](https://getting-started-with-xapian.readthedocs.io/en/latest/) is now included by default in Papermerge DMS. No configuration required. Basically - Papermerge DMS, without any extra config comes with Xapian search engine. In case are very adventurous and have lots of resources available - you can use Elasticsearch or Solr. Somewhere in future I will include support [Manticore](https://manticoresearch.com/) - but for now, it is ok the way it is.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/papermerge#366
No description provided.