sist2 icon indicating copy to clipboard operation
sist2 copied to clipboard

Alternative search backends

Open mayel opened this issue 3 years ago • 4 comments

Hi, wondering if there's any plans/interest in supporting alternative search index software, such as MeiliSearch for example?

mayel avatar Dec 11 '20 14:12 mayel

Hi, There are no plans in supporting other search backends right now. However if someone would like to create a PR for this I wouldn't mind integrating & maintaining that feature.

simon987 avatar Dec 11 '20 15:12 simon987

Would it be possible to also use a relational database for this, e.g. MySQL?
Elasticsearch uses rather high amounts of memory, it would be nice to have an option that makes more use of storage, than memory.
I suppose many people will want to use this project on consumer NAS devices, which can be stuffed with beefy disks but typically come with weak CPUs and little memory - none of which are upgradeable.

vercas avatar Jan 01 '21 23:01 vercas

That wouldn't really be possible without very significant changes, and the search performance would probably suffer. You should be able to run Elasticsearch with <512MB of memory, and it doesn't need to run on the same host as the files themselves (or the web UI): You can run the Web UI on one host, serve the files another host and run Elasticsearch on a third host.

simon987 avatar Jan 01 '21 23:01 simon987

Hi, thank you for this amazing software. Please consider https://manticoresearch.com/ as the search backend as it is fully open source.

anarchomoh avatar Jul 27 '22 00:07 anarchomoh

try https://github.com/zinclabs/zinc, maybe

nick008a avatar Nov 02 '22 09:11 nick008a

ZincSearch could potentially work out of the box but currently it fails at version check with the /es/ compatibility endpoint at https://github.com/simon987/sist2/blob/4e1109c5286e54271f11e3ee72e00d111dba76ff/src/index/elastic.c#L430 returning null

drewbitt avatar Nov 21 '22 20:11 drewbitt

@drewbitt Does it work after removing this check?

nick008a avatar Nov 22 '22 01:11 nick008a

No promises but I will attempt to make fully-embedded search index with SQLite FTS5 work. If it does work, the web server could run with only ~100mb or ram

simon987 avatar Apr 24 '23 23:04 simon987

That would be awesome!!

With SQlite, keeping the search engine and the sist2 index in sync will be a lot easier. (Maybe there is no need for a sist2 index anymore)

Does FTS5 support BM25 algorithm for better ranking?

ghost avatar Apr 28 '23 10:04 ghost

With SQlite, keeping the search engine and the sist2 index in sync will be a lot easier. (Maybe there is no need for a sist2 index anymore)

You will still need to have at least two separate indices (the regular sist2 index and the search index). They probably can exist in the same database file. To search through multiple indices, it necessarily needs one central search index.

Does FTS5 support BM25 algorithm for better ranking?

yes

simon987 avatar Apr 28 '23 18:04 simon987